Selenium - 元素无法点击
我们可能会收到错误-元素在尝试单击Seleniumwebdriver中的链接时无法单击。这在chromedriver中很常见,因为Chrome浏览器通过点位置确定元素。
当一个元素的位置发生变化并且我们试图点击它时,就会遇到这个错误。这是因为元素存在于DOM中,但它的位置在页面上并不固定。
有一些解决方法可以修复此错误,如下所示-
添加显式等待。webdriver可以等到预期的条件-visibilityOf(webdrivershallwaitforanelementinDOMtobevisible)。
添加显式等待。webdriver可以等到预期的条件-visibilityOfElementLocated。webdriver应等待元素出现在DOM中并显示在页面上。
最大化浏览器的大小。
语法
driver.manage().window().maximize()
添加Actions类的方法。
语法
WebElement l = driver.findElement(By.name("field-name"));
Actions at = new Actions(driver);
at.moveToElement(l).click().perform();JavaScript执行器。
沿x轴获取位置的语法-
WebElement l = driver.findElement(By.name("field-name"));
JavascriptExecutor je =(JavascriptExecutor)driver;
je.executeScript("window.scrollTo(0,"l.getLocation().x+")");
l.click();沿y轴获取位置的语法-
WebElement l = driver.findElement(By.name("field-name"));
JavascriptExecutor je =(JavascriptExecutor)driver;
je.executeScript("window.scrollTo(0,"l.getLocation().y+")");
l.click();热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下