我正在尝试使用LinkText单击一个元素。如:
myelement = driver.FindElement(By.LinkText(StoreFile)) 'Click on report by name
logger.Debug("Report Found as " & myelement.Text)
If myelement Is Nothing Then
GoTo endTry
Else
myelement.Click()
logger.Debug("Report clicked is " & StoreFile)
End If
但是,我得到以下错误:
The Error Is OpenQA.Selenium.StaleElementReferenceException: stale element reference: element is not attached to the page document
(Session info: chrome=66.0.3359.139)
(Driver info: chromedriver=2.35.528161
(5b82f2d2aae0ca24b877009200ced9065a772e73),platform=Windows NT 6.1.7601 SP1 x86_64)
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebElement.Click()
at ExcelAddIn1.Ribbon1.BrandReview(String ReadFile).
即使元素在网页上可见,它也无法使用LinkText找到该元素,这有什么原因吗?有解决这个问题的方法吗,请帮忙?
我不熟悉vb.net,但必须用不同的语言处理网络驱动程序中的StaleElementReourceExceptions。问题是引用不再有效,我怀疑尝试捕捉它,然后再尝试第二次是否有效:引用仍然丢失,所以它可能会失败。此外,我将尽可能避免使用重试机制,因为您希望测试在每次运行时执行相同的操作。
我可能只是在每次需要时查找元素,而不是将其存储为变量,而是替换myelement。用鼠标单击()
driver.FindElement(By.LinkText(StoreFile)).Click()
目前尚不清楚的是,为什么会有if语句。如果找不到元素,则不能单击它。那么剩下的部分还能用吗?我假设以下步骤取决于成功单击元素。如果元素不存在,那么测试应该失败,对吗?
您可以尝试以下代码:
int attempts = 0;
while(attempts < 2) {
try {
driver.FindElement(By.LinkText(StoreFile)).Click()
logger.Debug("Clicked on the link successfully")
break;
}
catch(StaleElementException e) {
}
attempts++;
}
这是HTML结构如下所示 错误跟踪为:
我在我的selenium java项目中不断收到一条错误消息。
我正在尝试读取联系人页面中的数据,但遇到此异常。
我试图理解为什么在我试图显示从网站获取的项目时会出现错误。我也在使用谷歌chrome浏览器。 这是我代码的其他部分 每当我使用"chromeDriver.FindElement(By.ID(something.link.text))。单击();",它会给出一个错误。我不能显示我提取的数据。 在错误消息中,它显示“OpenQA.Selenium.StaleElementReferenceExcept
我的超文本标记语言-Page包含(除其他内容外)以下内容: 在测试页面的代码中,我将执行以下操作: 这个和 然而,这个错误似乎并不合理,因为元素仍然是活动的: 我如何解决这个问题? (环境是APL。我在这里省略了一些APL细节,因为我担心它们可能会避免从核心问题上“分散注意力”) 在发帖前的研究过程中,我看到了一个问题:元素未附加到页面文档,但似乎不适用: 如图所示,我正在执行,并在找到它后立即访
我的程序抛出一条错误消息“stale element reference:element未附加到页面文档”。当我查看前面的帖子(如Python Selenium陈旧元素修复)时,我发现我没有在调用click函数后更新url。我更新了网址。然而,它并没有解决这个问题。谁能指出我哪里出错了?下面是我的代码:
我正在使用C#和Selenium Chromedriver来做一个测试项目,以抓取谷歌地图。 在到达第二个循环之前,它运行良好: 返回: OpenQA. Selenium.过时元素引用:元素未附加到页面文档 这是我所有的代码: 任何帮助将不胜感激!