org.openqa.selenium.WebDriverException:未知错误:元素无法点击

时间:2015-01-20 10:08:00

标签: javascript html selenium jquery-selectors html.dropdownlistfor

我使用selenium webdrive来选择下拉列表中的项目。

enter image description here

enter image description here

我想点击"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)

但是,使用浏览器我肯定会点击该项目。

如何点击此项?

2 个答案:

答案 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"));

问候!