Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium WebDriver等待加载/可见javascript生成的表_Javascript_Java_Selenium_Html Table_Webdriverwait - Fatal编程技术网

Selenium WebDriver等待加载/可见javascript生成的表

Selenium 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

我正试图从这篇F5文章()的表中获取数据。 我面临的问题是,它有时会正确地抓取页面(表位于DOM中)。但是,在其他情况下,它不会对javascript生成的表进行爬网。 我尝试过使用隐式和显式等待,但没有成功。使用显式等待无法成功选择表。我总是被暂停

您知道如何始终访问表中的数据吗? 我使用的是Java8、Selenium 3.141.59和ChromeDriver 85.0.4183.87

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

谢谢您的回复,但这仍然不能解决我的问题。