【问题标题】:Cannot locate elements using selenium无法使用硒定位元素
【发布时间】:2021-03-26 17:00:35
【问题描述】:

您好,我尝试使用 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.js selenium-webdriver


    【解决方案1】:

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

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

    【讨论】:

    • 嗨@Nitin Hamir,你怎么知道我必须换帧?
    • 这很简单,只要元素被您的 xpath 或开发工具中的任何其他定位器策略定位,但在您运行自动化脚本时未被识别。这意味着该元素可能存在于 iframe 或我们必须使用的其他定位器策略中。
    猜你喜欢
    • 2020-07-23
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    相关资源
    最近更新 更多