【发布时间】:2021-07-16 05:24:45
【问题描述】:
我正在尝试使用 Xpath 立即从活动元素中获取数据 但是当我运行这个项目时,我得到了这个错误
线程“main”org.openqa.selenium.StaleElementReferenceException 中的异常:过时的元素引用:元素未附加到页面文档
package read;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class ResdeStoFromBrowser {
public static final String TEXT_RESET = "\u001B[0m";
public static final String TEXT_RED = "\u001B[31m";
public static final String TEXT_GREEN = "\u001B[32m";
public static final String TEXT_CYAN = "\u001B[36m";
public void ResdeSto() throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "C:\\Users\\owner\\....\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.navigate().to("https:.........");
driver.manage().window().maximize();
while (true) {
TimeUnit.SECONDS.sleep(1);
String sel2 = driver.findElement(By.xpath("/html/body/div[2]/div[1]/div/div[2]/div[2]/div[2]/div[2]/div[1]/div[1]/span[3]")).getText();
System.out.println(TEXT_GREEN + " " + sel2 + TEXT_RESET + " ");
}
}
}
【问题讨论】:
-
为什么最后会出现死循环?
-
不断从源头获取数据!!
-
这毫无意义,可能是个问题。
-
能否添加HTML代码或网址
-
@Sonali 在帖子中添加 HTML 无济于事,因为页面内容会发生变化。