当前位置: 首页 > 知识库问答 >
问题:

陈旧元素引用:使用xpath单击隐藏按钮时,元素未附加到页面

萧飞
2023-03-14

我试图点击以下按钮使用xpath在selenium,

<div class="bg-iconButton-button bg-common-nodrag bg-tool-maximize bg-common-hideDisplay" title="Display in full screen" id="bg-po-full-screen-1"></div>

我试过下面的代码,

fullscreenbutton=UtilityFunc.driver.findElement(By.xpath("//*[@id='bg-po-full-screen-1']"));
KeywordFunc.fnClick(fullscreenbutton);

我得到以下错误,

组织。openqa。硒。StaleElementReferenceException:stale元素引用:元素未附加到页面文档

我想我之所以面临这个问题,是因为它是作为一个div而不是按钮封闭的。

共有1个答案

况经纬
2023-03-14

首先,您可以通过元素的ID而不是Xpath来选择元素。

WebElement fullscreenbutton = UtilityFunc.driver.findElement(By.id("bg-po-full-screen-1"));

其次,您试图单击的元素没有与之关联的onClick事件,也不是按钮。你确定你的实际按钮没有嵌套在里面或者在下面吗?

 类似资料:
  • 我有一个下拉列表,我第一次能够按索引选择元素。当我第二次尝试选择元素时,它会抛出陈旧的元素引用错误。我尝试了try catch block,显式等待,但没有任何效果。

  • 我有一个客户想要从网站上抓取一些信息。循环第一次工作,但第二次发生错误。有什么帮助吗?我也不建议去实际的网站,它很粗略。 代码: 错误: selenium.common.exceptions.StaleElementReferenceException:消息:陈旧的元素引用:元素未附加到页面文档 完全终端回溯: 完成回溯(最近的最后一次调用):文件"c:\用户\Heage\Coding\自由职业\

  • 我试图理解为什么在我试图显示从网站获取的项目时会出现错误。我也在使用谷歌chrome浏览器。 这是我代码的其他部分 每当我使用"chromeDriver.FindElement(By.ID(something.link.text))。单击();",它会给出一个错误。我不能显示我提取的数据。 在错误消息中,它显示“OpenQA.Selenium.StaleElementReferenceExcept

  • 问题内容: 在我的C#应用​​程序中使用Selenium Web驱动程序时,出现以下错误: OpenQA.Selenium.StaleElementReferenceException:陈旧元素引用:元素未附加到页面文档 在此代码中: 错误行在中,但这是在XPath之前指定的相同链接中成功执行但在最后一次尝试中失败的过程!那么这个错误是什么意思以及如何解决呢? 问题答案: 这意味着在页面中更改的元

  • 这是HTML结构如下所示 错误跟踪为:

  • 我正在使用C#和Selenium Chromedriver来做一个测试项目,以抓取谷歌地图。 在到达第二个循环之前,它运行良好: 返回: OpenQA. Selenium.过时元素引用:元素未附加到页面文档 这是我所有的代码: 任何帮助将不胜感激!