在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']

应用程序本身默认为单选按钮的第一个值,我似乎无法让它选择我需要的第四个值。有人能为我提供建议吗?

在Internet Explorer中找不到WebElement(单选按钮列表)

根据哪些元素是同级元素,可以有选择器,如:

//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