首页 > 解决方案 > 无法使用硒定位元素

问题描述

嗨,我尝试使用 selenium chromedriver 输入用户名和密码,但它总是让我无法找到元素。我尝试了 id、name、xpath、完整的 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')
})

标签: node.jsselenium-webdriver

解决方案


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

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

推荐阅读