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();热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志