无法使用硒定位元素

时间:2021-03-26 17:00:35

标签: node.js selenium-webdriver

嗨,我尝试使用 selenium chromedriver 输入用户名和密码,但它总是让我无法定位元素。我尝试了 id、name、xpath、full xpath,但似乎都不起作用。我正在尝试访问此网站:https://www.absolutecyclesingapore.com/reserve#/login

const webdriver = require('selenium-webdriver'),
    By = webdriver.By,
    until = webdriver.until;

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

driver.get('https://www.absolutecyclesingapore.com/reserve#/login').then(async function(){  
    await driver.sleep(5000)
    driver.findElement(webdriver.By.name('username')).sendKeys('usertest')
    driver.findElement(webdriver.By.name('password')).sendKeys('passwordtest')
})

1 个答案:

答案 0 :(得分:0)

我浏览了您的链接。 DOM 中有 iframe,iframe 中存在用户名密码元素。 您必须使用 xpath=(//iframe)[1] 切换到 iframe。 然后试试你的代码

driver.findElement(webdriver.By.name('username')).sendKeys('usertest')
driver.findElement(webdriver.By.name('password')).sendKeys('passwordtest')