如何使用Playwright Java读取下拉框的选中值
Playwright Java 获取下拉框选中值示例
针对原生<select>下拉框,有两种常用方式获取选中内容:
方式一:通过evaluate直接获取原生select的选中值
利用JavaScript原生API获取选中项的文本或value属性:
// 获取选中选项的显示文本 String selectedText = page.locator("select#yourDropdown").evaluate("el => el.options[el.selectedIndex].text"); // 获取选中选项的value属性值 String selectedValue = page.locator("select#yourDropdown").evaluate("el => el.value");
方式二:定位已选中的option元素
直接定位带有:checked伪类的option元素,再获取文本或属性:
// 获取选中选项的显示文本 String selectedText = page.locator("select#yourDropdown option:checked").textContent(); // 获取选中选项的value属性值 String selectedValue = page.locator("select#yourDropdown option:checked").getAttribute("value");
针对自定义下拉组件(非原生select)
如果是基于div/ul等模拟的自定义下拉,通常选中项会带有特定类名(如selected、active),直接定位该元素即可:
// 示例:选中项带有selected类 String selectedText = page.locator(".custom-dropdown .option.selected").textContent();
说明
你之前使用page.locator("//xpath to dropdown").textContent()返回所有选项,是因为该定位器指向的是整个下拉框容器(或原生select元素),它的textContent会包含所有子选项的文本内容,必须精准定位到已选中的单个选项元素才能拿到目标值。
内容的提问来源于stack exchange,提问作者lorenlai
相关产品推荐
相关产品推荐

