在Internet Explorer中找不到WebElement(单选按钮列表)
本文关键字:单选按钮 列表 WebElement 找不到 Internet Explorer | 更新日期: 2023-09-27 17:58:17
我有一个WebElement,在IE 10中找不到,但可以在FF 47.1和Chrome 51中使用。
[FindsBy(How = How.XPath, Using = "Foo's XPath")]
IWebElement Foo = null;
在运行时,我也调用了
wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath("Foo's XPath")));
但是我收到了一个仅适用于IE10的NullReferenceException。我甚至试过睡一觉。有人能告诉我我还能做什么吗b/c我的程序必须运行IE。
当这个问题被问到时,我们已经升级到IE 11,但仍然看到完全相同的问题。我不能提供特定的html代码,但我想详细介绍一下web元素foo。
我称之为"foo"的单选按钮包装在下面的中
div
table
tbody
tr
td
input id = "foo"
当我调用xpath时(我也尝试过id和css选择器)
.//*[@id='foo_rblArgType_4']
应用程序本身默认为单选按钮的第一个值,我似乎无法让它选择我需要的第四个值。有人能为我提供建议吗?
根据哪些元素是同级元素,可以有选择器,如:
//tr[4]//*[contains(@id, 'foo')]
//td[4]/*[contains(@id, 'foo')]
//*[contains(@id, 'foo')][4]
如果没有更改,您也可以使用整个id,方法是将[contains(@id,'foo')]替换为[@id='o']
如果这些都不起作用,那么请提供所有4个输入的结构。
尝试通过id识别元素。
[FindsBy(How = How.Id, Using = "foo")]
IWebElement Foo = null;
还要确保该元素未被隐藏。同时尝试增加元素的大小,因为有时web驱动程序无法定位元素。
若在单选按钮上执行任何操作时仍有问题,请尝试使用JavaScriptExecutor。https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/JavascriptExecutor.html