Javascript org.openqa.selenium.WebDriverException:未知错误:元素不可单击
我使用selenium webdrive在下拉列表中选择一个项目 我想点击Javascript org.openqa.selenium.WebDriverException:未知错误:元素不可单击,javascript,html,selenium,jquery-selectors,html.dropdownlistfor,Javascript,Html,Selenium,Jquery Selectors,Html.dropdownlistfor,我使用selenium webdrive在下拉列表中选择一个项目 我想点击“游戏俱乐部”元素 我尝试了几个元素,但我得到一个错误,其中没有一个是可点击的 org.openqa.selenium.WebDriverException: unknown error: Element is not clickable at point (790, 227). Other element would receive the click: <div id="select2-drop-mask"
“游戏俱乐部”
元素
我尝试了几个元素,但我得到一个错误,其中没有一个是可点击的
org.openqa.selenium.WebDriverException: unknown error: Element is not clickable at point (790, 227). Other element would receive the click: <div id="select2-drop-mask" class="select2-drop-mask" style=""></div>
(Session info: chrome=41.0.2272.3)
org.openqa.selenium.WebDriverException:未知错误:元素在点(790227)处不可单击。其他元素将收到单击:
(会话信息:chrome=41.0.2272.3)
但是,使用浏览器,我肯定会单击该项目
如何单击此项?如果这是一个静态列表,我将使用
选择元素(IWebElement元素)
方法
C#示例:
您可以尝试:
public void click( By element ) {
WebElement button = driver.findElement( element );
try {
button.click();
} catch ( WebDriverException e ) {
List<WebElement> availables = button.findElements( By.tagName( "div" ) );
availables.addAll( button.findElements( By.tagName( "span" ) ) );
tryClick( availables );
}
}
public void tryClick( List<WebElement> availables ) {
for ( WebElement candidate : availables ) {
try {
candidate.click();
return;
} catch ( WebDriverException e ) {
continue;
}
}
}
问候 可能这个链接会帮助你。。。
public void click( By element ) {
WebElement button = driver.findElement( element );
try {
button.click();
} catch ( WebDriverException e ) {
List<WebElement> availables = button.findElements( By.tagName( "div" ) );
availables.addAll( button.findElements( By.tagName( "span" ) ) );
tryClick( availables );
}
}
public void tryClick( List<WebElement> availables ) {
for ( WebElement candidate : availables ) {
try {
candidate.click();
return;
} catch ( WebDriverException e ) {
continue;
}
}
}
click(By.id("elementId"));