【发布时间】: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