Web Element随机停止工作

本文关键字:停止工作 随机 Element Web | 更新日期: 2023-09-27 18:05:47

我使用Selenium WebDriverVisual Studio 2015。我有一个持续的问题,一个单选按钮,原来是工作的,然后停止工作,然后再次恢复工作。我试着找出导致这个问题的原因,但我似乎无法把这个问题孤立出来。

  1. 我在IE 10/11Chrome上都试过了,再也看不到WebElement了。

  2. 我已经添加了一个等待函数来尝试查看元素是否可见(甚至尝试睡眠以防万一)

  3. 由于它是Click()方法,我尝试了点击和sendkeys.enter

  4. 多个路径,通过名称,css, ID, xpath,但web元素没有改变

请参阅下面我的代码:-

test.Log(LogStatus.Info, "Blah", "Before");
try 
{
    radBtnCID=wait.Until(ExpectedConditions.ElementIsVisible(By.Id("someID")));
    if (radBtnCID == null)
    {
        test.Log(LogStatus.Error, method, "Web Element Returned Null: radBtnCID");
    }
    else
    {
         radBtnCID.SendKeys(Keys.Enter);
         test.Log(LogStatus.Info, radBtnCID.Text, radBtnCID.Text);  
    }
}
catch (Exception ex)
{
    test.Log(LogStatus.Error, method, ex.Message);
}
test.Log(LogStatus.Info, "Blah", "After");

当我在等待函数之后调试代码时,它移动到else语句,因此它不会将WebElement视为null,我确实看到它执行了这行代码,但它从未选择所需的单选按钮。它没有抛出异常,我成功地看到了我的前后消息。请帮忙,因为这一直在进行中,我已经没有想法了。

Web Element随机停止工作

这似乎是你的页面设计问题,这就是为什么你不能在这里执行IWebElement.Click(),你也可以尝试使用IJavaScriptExecutor作为替代解决方案,如下:-

IJavaScriptExecutor js = driver as IJavaScriptExecutor; 
js.ExecuteScript("arguments[0].click()",radBtnCID);