我开始使用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
答案 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();