- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从 HTML 表中读取数据。我尝试读取数据的网站是 gmail 联系人页面。每次我运行代码时我都会得到 -
org.openqa.selenium.StaleElementReferenceException: stale element reference: element is not attached to the page document
(Session info: chrome=39.0.2171.99)
(Driver info: chromedriver=2.9.248315,platform=Windows NT 6.1 SP1 x86) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 602 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/stale_element_reference.html
Build info: version: '2.42.2', revision: '6a6995d', time: '2014-06-03 17:42:30'
System info: host: 'Casper-PC', ip: '10.0.0.5', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_25'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{applicationCacheEnabled=false, rotatable=false, chrome={userDataDir=C:\Users\Casper\AppData\Local\Temp\scoped_dir7476_21861}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, version=39.0.2171.99, platform=XP, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]
Session ID: 1e0f05fdc64ecd5720f0d050a602ee4b
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:204)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:156)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:599)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:268)
at org.openqa.selenium.remote.RemoteWebElement.getText(RemoteWebElement.java:152)
at com.Trial.SortingTable.main(SortingTable.java:36)
我写的Java代码-
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
public class SortingTable {
public static void main(String[] agrs) throws InterruptedException{
WebDriver driver = null;
try{
System.setProperty("webdriver.chrome.driver","E:\\chromedriver.exe");
driver= new ChromeDriver();
driver.manage().window().maximize();
//Authentication pop-up
driver.get("https://accounts.google.com/ServiceLogin?service=mail&continue=https://mail.google.com/mail/");
driver.findElement(By.xpath(".//*[@id='Email']")).sendKeys("Gmail Username");
driver.findElement(By.xpath(".//*[@id='Passwd']")).sendKeys("Gmail Password");
driver.findElement(By.xpath(".//*[@id='signIn']")).click();
driver.manage().timeouts().implicitlyWait(14000, TimeUnit.SECONDS);
WebElement wb = driver.findElement(By.xpath(".//*[@id=':j']"));
wb.click();
driver.findElement(By.xpath(".//*[@id=':1h']")).click();
driver.manage().timeouts().implicitlyWait(14000, TimeUnit.SECONDS);
Actions action = new Actions(driver);
action.moveToElement(driver.findElement(By.xpath(".//*[@id=':16r']/div/div[2]"))).perform();
driver.manage().timeouts().implicitlyWait(14000, TimeUnit.SECONDS);
driver.findElement(By.xpath(".//a[@title='Other Contacts (16)']")).click();
driver.manage().timeouts().implicitlyWait(14000, TimeUnit.SECONDS);
//This is the page which is having the contact
List<WebElement> list = driver.findElements(By.xpath(".//*[@id=':17h']/tbody/tr/td[4]/div"));
for(WebElement lst : list){
//Trying to read the contact
System.out.println(lst.getText());
}//for
}catch(Exception e){
e.printStackTrace();
}//catch
finally{
Thread.sleep(4000);
driver.quit();
System.exit(0);
}//finally
}//main
}//SortingTable
我正在尝试读取联系人页面内的数据,但出现此异常。
最佳答案
这是因为here中的以下两个原因:
A stale element reference exception is thrown in one of two cases, the first being more common than the second:
The element has been deleted entirely. The element is no longer attached to the DOM.
这通常发生在基于 ajax 的网站中。解决这个问题的一种方法是重新获取元素,因为ajax调用DOM会更改。
关于java - org.openqa.selenium.StaleElementReferenceException : stale element reference: element is not attached to the page document,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28066135/
已修复:这是一个 known bug在 maven-compiler-plugin 3.1 中 我正在将 1000 多个 java-sources 项目的基于 ant 的构建转换为 maven。到目前
我如何强制 Terraform 从头开始重建其计划和 tfstate 文件? 我正在考虑将我的 IAC 从 GCP 的 Deployment Manager 迁移到 Terraform,所以我想我
我们正在使用Varnish缓存6.2来位于WebAPI后端的前面。 后端会在某些请求上向后发送一个缓存控制 header ,以便我们可以缓存更长的时间。 但是-如果后端出现故障并保持故障状态,我们将在
我需要从代码访问folderId: { "folderType": 3, "createdDate": "02.09.2014 11:57:28.UTC",
我正在开发一个 Spring-MVC 应用程序,在该应用程序中我试图从数据库中删除一个对象。前几天,突然出现这个错误,现在我无法删除。我在网上检查了,但我找不到我做错了什么,并且所有解决方案似乎都不起
我用 python 用 selenium 编写了一个脚本。该脚本应该单击网页中的某些链接。当我运行脚本时,它确实单击第一个链接,然后抛出错误陈旧元素引用:元素未附加到页面文档,而不是追逐下一个链接。在
Cloudflare 记录了 Cache-Control 的指令列表 header ,包括 stale-while-revalidate . stale-while-revalidate= When
我们面临一个 memcached(Redhat 上的 v1.4.4)问题,准确描述如下: 通过 memcached 中一致的 ketama 散列,给定 key 所在的位置没有严格的状态。如果缺乏最新的
我最近开始使用我的 Android JNI 应用程序以 API 级别 14 为目标,并立即发现描述的问题 here . 无法通过显式管理本地引用来解决问题(在我的实验结束时发现本地引用表溢出),我决定
我有以下网络驱动程序功能: this.clickButton = async function () { try { var buttonElement = await driver.fi
我有一个表 (MySQL),其中有一行。 我可以很好地阅读它: self._session.query(Automatic).\ filter(Automatic.do_wh
我知道这段代码是正确的(除了 delete 没有完成): #include #include #include #include std::atomic ptr; int data; void
“陈旧”的 git 分支是我听过很多次的术语。我知道这与被认为不太有用或无用的分支有关,但找不到确切的定义。什么是“过时的”git 分支? 最佳答案 关于“陈旧”的最古老的引用文献是在 commit
我正在尝试从 Datepicker 中选择日期。以下是代码 WebDriver d=new FirefoxDriver(); Actions a=new Actions(d); String date
我很好奇 stale=update_after CouchDB View API 的功能有效。 我可以看到 here它返回陈旧的结果,然后更新 View : If stale=ok is set, C
我正在使用 RestTemplate 和 ConnectionPooling,使用 PoolingHttpClientConnectionManager 如下代码: PoolingHttpClient
代码 1: element(by.id('myButtonId')).click(); return element(by.id('myValidationSummaryId')).getText()
我正在尝试单击循环内的分页。 这是我的代码: WebElement pagination = d.findElement(By.xpath("/html/body/div[9]/div[1]/div[
在我的 post_index 操作中,我生成了不同类型的“@posts”,例如.. def index case params[:listing_type] when "all"
我编写了一个java应用程序,它首先在启动时创建一个连接池,然后在每次刷新期间,从池中获取连接,使用它,然后关闭它。当我与网络和用户断开连接时,就会出现问题按刷新按钮。应用程序似乎进入挂起状态(从我的
我是一名优秀的程序员,十分优秀!