Selenium WebDriver等待加载/可见javascript生成的表
我正试图从这篇F5文章()的表中获取数据。 我面临的问题是,它有时会正确地抓取页面(表位于DOM中)。但是,在其他情况下,它不会对javascript生成的表进行爬网。 我尝试过使用隐式和显式等待,但没有成功。使用显式等待无法成功选择表。我总是被暂停 您知道如何始终访问表中的数据吗? 我使用的是Java8、Selenium 3.141.59和ChromeDriver 85.0.4183.87Selenium WebDriver等待加载/可见javascript生成的表,javascript,java,selenium,html-table,webdriverwait,Javascript,Java,Selenium,Html Table,Webdriverwait,我正试图从这篇F5文章()的表中获取数据。 我面临的问题是,它有时会正确地抓取页面(表位于DOM中)。但是,在其他情况下,它不会对javascript生成的表进行爬网。 我尝试过使用隐式和显式等待,但没有成功。使用显式等待无法成功选择表。我总是被暂停 您知道如何始终访问表中的数据吗? 我使用的是Java8、Selenium 3.141.59和ChromeDriver 85.0.4183.87 driver.manage().timeouts().implicitlyWait(15, TimeUn
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
WebDriverWait wait = new WebDriverWait(driver, 15);
WebElement element = wait
.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("table")));
编辑:
我希望我能使用他们的API,但是因为它没有文档记录,所以我不允许使用。这是怎么回事:
List<WebElement> tables = driver.findElements(By.tagName("table"));
if (tables.size() == 0) {
try {
wait.until(ExpectedConditions.presenceOfElementLocated(By.tagName("table")));
tables.addAll(driver.findElements(By.tagName("table")));
}
catch (TimeOutException e) {
};
}
List tables=driver.findElements(按.tagName(“table”);
如果(tables.size()==0){
试一试{
wait.until(ExpectedConditions.presenceOfElementLocated(By.tagName(“table”));
tables.addAll(driver.findElements(按.tagName(“table”));
}
捕获(超时异常e){
};
}
谢谢您的回复,但这仍然不能解决我的问题。