Selenium:测试其Web属性“OVERFLOW”是自动/滚动的Web元素
在下一页中,只显示三个元素,我必须使用滚动条查看其他元素。
我正在使用selenium webdriver。
当我试图点击“第四行”或“第五行”时抛出了ElementNotVisibleException。
是否有任何方法可以移动scoll bar(或其他方式?)使“第四行”和“第五行”可见,然后可点击?
Source code of this element: - First Row
- Second Row
- Third Row
- Fourth Row
- Fifth Row
好吧,我没有看到任何seleniumapi这样做。
但是使用JavaScriptExecutor
你可以做到这一点。
这是怎么回事
//Select element by some method WebElement we = driver.findElement(By.id("elementid")); // create JSExecutor object JavascriptExecutor executor = (JavascriptExecutor)driver; // Do the JS click executor.executeScript("arguments[0].click();", we);
第四 行或第五行最初不可见,您将不得不hover在其上下文之上以使其可见..最简单的方法是直接点击它将使用javascriptExecuter,
((JavascriptExecutor)driver).executeScript("$('html ul li+li+li+li>div').click();");
如果您可以使用id,name..etc等属性,查找元素将更容易,更快速,更高效。
上面的代码将点击“第四行”..