陈旧的元素引用:当使用xpath点击一个隐藏的按钮时,元素没有连接到页面上。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了陈旧的元素引用:当使用xpath点击一个隐藏的按钮时,元素没有连接到页面上。相关的知识,希望对你有一定的参考价值。

我试图在Selenium中使用xpath点击以下按钮。

<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);

我收到以下错误信息。

org.openqa.selenium.StaleElementReferenceException: stale element reference: element is not attached to the page document.

我想我面临这个问题,因为它是作为一个div而不是按钮。

答案

首先你可以通过它的ID而不是它的X路径来选择你的元素。

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

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

以上是关于陈旧的元素引用:当使用xpath点击一个隐藏的按钮时,元素没有连接到页面上。的主要内容,如果未能解决你的问题,请参考以下文章

vue.js怎样解决按钮多次点击重复提交

xpath返回两个按钮

Selenium WebDriver 如何解决陈旧元素引用异常?

在 Xpath 中使用 OR 条件来识别相同的元素

当我尝试使用for循环单击所有链接时,硒显示陈旧错误?

求助js问题,点击按钮给一个数组增加一个元素,一直点,一直增加