我不能点击选项元素-
网址:http://www.oferty.net
当我试图在下拉列表中选择一个选项时。不幸的是,我收到了这样的信息:
“无法单击选项元素。执行JavaScript单击函数返回意外错误”
下面的代码做错了什么?
Select estateType = new Select(driver.findElement(By.id("ps_type")));
estateType.selectByVisibleText("domy");
请帮帮忙。
发布于 2018-01-09 21:32:56
我快速检查您要选择的下拉列表的HTML代码,它不是HTML下拉列表。它是用CSS创建的自定义下拉列表,因此不能使用Selenium提供的默认函数来选择下拉值。
<div class="jquery-selectbox-list jquery-custom-selectboxes-replaced-list" style="width: 113px; height: 9em; display: none;">
<span class="jquery-selectbox-item value-998 item-0">rynek pierwotny
</span>
...
</div>
可能的解决方案
jquery-custom-selectboxes-replaced-list
元素,看看它是否工作,如果没有jquery-custom-selectboxes-replaced-list
,然后滚动到您感兴趣的元素,然后单击它。发布于 2018-01-10 05:10:11
这是一个模拟下拉列表,不是本地的。只能使用本机下拉列表(由Select定义)。甚至还有嵌入本机下拉列表,但它是隐藏的,这就是为什么报表不能单击选项错误。当您从页面中对下拉列表进行操作时,嵌入本机下拉列表总是隐藏的,因此实际上您没有对嵌入本机下拉列表进行操作。
试试下面的代码:
public void choosePsType(String psType) {
// find the container node of the dropdown list
WebElement psTypeSelect = driver.findElement(By.cssSelector("label[for='ps_type'] + div"));
// click on the selector to expand options
psTypeSelect.findElement(By.cssSelector("span.jquery-selectbox-currentItem")).click();
// choose wanted option
String xpath = String.format(".//span[contains(@class, 'jquery-selectbox-item')][.='%s']", psType);
psTypeSelect.findElement(By.xpath(xpath)).click();
}
https://stackoverflow.com/questions/48175575
复制相似问题