我使用selenium webdrive来选择下拉列表中的项目。
我想点击"game club"
元素
我尝试了很少的元素,但是我得到一个错误,其中没有可点击的。
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)
但是,使用浏览器我肯定会点击该项目。
如何点击此项?
答案 0 :(得分:0)
如果这是静态列表,我会使用SelectElement(IWebElement element)
方法。
C#示例:
var dropDown = _webDriver.FindElement(By.ClassName("select2-result-sub"));
var dropDownSelector = new SelectElement(dropDown);
dropDownSelector.SelectByIndex(3);
答案 1 :(得分:0)
你可以尝试:
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"));
问候!