我无法点击选项元素 -
当我尝试在下拉列表中选择一个选项时。不幸 我收到了消息:
“无法点击选项元素。执行JavaScript点击功能 返回了意外错误“
以下代码我做错了什么:
Select estateType = new Select(driver.findElement(By.id("ps_type")));
estateType.selectByVisibleText("domy");
请帮忙。
答案 0 :(得分:0)
我快速检查您要选择的下拉列表的HTML代码,它不是HTML下拉列表。它是使用CSS创建的自定义dropdpown,因此您无法使用Selenium提供的默认功能来选择Dropdown Value。
<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
元素上尝试SendKeys,看看它是否有效,如果没有,jquery-custom-selectboxes-replaced-list
,然后滚动到您感兴趣的元素并单击它。 答案 1 :(得分:0)
这是一个模拟的下拉列表,不是原生的。 Selenium Select Class只能在Select Tag定义的本机下拉列表中使用。即使有嵌入本机下拉列表,但它是隐藏的,这就是报告无法点击选项错误的原因。当您操作页面的下拉列表时,嵌入的本机下拉列表始终是隐藏的,因此实际上您不会在嵌入本机下载操作。
尝试以下代码:
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();
}