java - 通过 ID 查找元素无法识别 - Selenium

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

我有一个关于 Selenium 的问题, 我尝试填写一个表单,输入文本的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)

这是页面元素 enter image description here

这是我的方法

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

问题是 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)

...意味着 ChromeDriver 无法找到所需的元素。

您需要注意以下几点:

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

解决方案

关于java - 通过 ID 查找元素无法识别 - Selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58050613/

相关文章:

java - 尝试交换二维数组中的元素时,应该使用什么类型的列表?

java - 如何在等待回调中保存对象?

java - 从 Hector QueryResult 对象中获取字符串

java - 从数据库获取值作为 key 对

python - 使用Python Selenium Chromedriver下载不一致 'Failed - Path too long'错误

ruby - cucumber / capybara 错误:参数 [0] 未定义(Selenium::WebDriver::Error::JavascriptError)

javascript - 如何为在 Chrome 中应用了 css 缩放的 img 获得正确的 jQuery offset()

javascript - Chrome 选项卡内存不断增长,堆大小保持不变

java - 如何在 Javascript 弹出窗口中输入凭据?我们无法传递链接中的凭据

AJAX 请求和连接超时 : Chrome doesn't timeout after over 15 hours, 但 IE 呢?