硒元素不可相互作用

时间:2019-02-25 16:40:48

标签: javascript node.js selenium-webdriver

我开始使用selenuim,节点js

到目前为止一切正常,突然之间,同一脚本抛出了错误

“未处理的承诺拒绝警告元素不可交互”

我尝试设置等待,直到一切都没有

<script>

  const {Builder, By, Key, until, wait } = require('selenium-webdriver');

  var driver = new Builder()
.forBrowser('chrome')
.build();


 driver.manage().window().maximize() 
 driver.get('http://www.google.com/testsite')
driver.findElement(By.id('username')).sendKeys('test@emal');
driver.findElement(By.id('password')).sendKeys('passowrod');
driver.findElement(By.className('acceder')).click();
driver.quit();


</script>

我到处搜索,但是所有示例都对我没有用,因为它们没有问题,..

https://www.youtube.com/watch?v=C6qQojzN7bE&index=4&list=PLA4JPGpQHctT__mDO9EHvOrWVW0Hkf5Mk

2 个答案:

答案 0 :(得分:2)

这些定位器为我提供了您共享的网址:

driver.findElement(By.xpath('(//input[@id="username"])[2]')).sendKeys('test@emal');
driver.findElement(By.xpath('(//input[@id="password"])[2]')).sendKeys('passowrod');
driver.findElement(By.xpath('(//button[@class="boton acceder"])[2]')).click();

对所有元素使用第二索引的原因是,HEADER中隐藏了相同的元素。

注意:我在python中尝试过这些方法,因此请调整是否存在任何字符串语法错误。

答案 1 :(得分:0)

问题:运行自动化程序时,窗口大小没有完全显示在屏幕上,因此某些元素显示在您配置的chrome web驱动程序的可见区域之外。

解决方案将在您的基本配置中使用以下代码段:

browser.driver.manage().window().maximize();