Web Element随机停止工作
本文关键字:停止工作 随机 Element Web | 更新日期: 2023-09-27 18:05:47
我使用Selenium WebDriver
为Visual Studio 2015
。我有一个持续的问题,一个单选按钮,原来是工作的,然后停止工作,然后再次恢复工作。我试着找出导致这个问题的原因,但我似乎无法把这个问题孤立出来。
-
我在
IE 10/11
和Chrome
上都试过了,再也看不到WebElement
了。 -
我已经添加了一个等待函数来尝试查看元素是否可见(甚至尝试睡眠以防万一)
-
由于它是
Click()
方法,我尝试了点击和sendkeys.enter -
多个路径,通过名称,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
,我确实看到它执行了这行代码,但它从未选择所需的单选按钮。它没有抛出异常,我成功地看到了我的前后消息。请帮忙,因为这一直在进行中,我已经没有想法了。
这似乎是你的页面设计问题,这就是为什么你不能在这里执行IWebElement.Click()
,你也可以尝试使用IJavaScriptExecutor
作为替代解决方案,如下:-
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
js.ExecuteScript("arguments[0].click()",radBtnCID);