【问题标题】:Find element by ID not recognized - Selenium按 ID 查找元素无法识别 - Selenium
【发布时间】:2020-01-22 19:48:54
【问题描述】:

我有一个关于硒的问题, 我尝试填写表格,输入文本的 id 为://input[@id='company']。 在 selenium 中,我收到有关此元素未找到的错误:

Sun Sep 22 18:13:27 IDT 2019:ERROR: no such element: Unable to locate element: {"method":"id","selector":"//input[@id='company']"}
  (Session info: chrome=76.0.3809.132)
  (Driver info: chromedriver=2.36.540470 (e522d04694c7ebea4ba8821272dbef4f9b818c91),platform=Windows NT 6.1.7601 SP1 x86_64)

这是页面元素

这是我的方法

public static void inputValueById(String input,String id)
    {
        WebElement element = getWebElementByIdWithWaitToBeSeen(id);
        element.click();
        element.clear();
        element.sendKeys(input);
    }

问题是 selenium 找不到元素,它在开发工具中找到它,如您所见

【问题讨论】:

  • 您是否尝试过将程序设置为等待 10 秒?有时元素需要一些时间来加载。
  • 什么是getWebElementByIdWithWaitToBeSeen
  • 脚本失败的原因可能有两个。 1)您的脚本甚至可能在页面加载元素之前尝试定位该元素,或者 2)该元素可能存在于 iframe 中。
  • 页面上有frame/iframe吗?
  • 我尝试等待 22 秒,但仍然没有找到,即使我看到页面已加载。 getwebElementbyudwithwait - 它只是等到看到 id,然后等待 22 秒,仍然没有找到元素

标签: java selenium google-chrome selenium-webdriver selenium-chromedriver


【解决方案1】:

此错误消息...

Sun Sep 22 18:13:27 IDT 2019:ERROR: no such element: Unable to locate element: {"method":"id","selector":"//input[@id='company']"}
  (Session info: chrome=76.0.3809.132)
  (Driver info: chromedriver=2.36.540470 (e522d04694c7ebea4ba8821272dbef4f9b818c91),platform=Windows NT 6.1.7601 SP1 x86_64)

...暗示 ChromeDriver 无法找到所需的元素。

您需要注意以下几点:

  • 你使用的Locator Strategy不是id,而是
  • 虽然您使用的是chrome=76.0,但chromedriver=2.36太旧了。

解决方案

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-19
    • 2020-06-20
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    相关资源
    最近更新 更多