【发布时间】:2018-03-02 15:15:27
【问题描述】:
the source html of the page i am trying to scrape
我正在尝试使用 Selenium Webdriver 抓取使用某些 javascripts 呈现的 webtable
driver.get("http://xxxxx:xxxxxxxx@xxxxxx-
xxxxxx.grid.xxxxxx.com/Windchill/app/#ptc1/comp/queue.table");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
List<WebElement> k=driver.findElements(By.xpath("//*[@id='queue.table']"));
System.out.println(k.size());
System.out.println(k.get(0).getText());
k.size() 返回 1 当我运行获取文本时,它只返回表中的一些条目
Actual table and entries the total rows are 135
运行后我得到如下
Queue Management
Loading...
Name
Type
Status
Enabled
Group
Total Entries
Waiting Entries
Severe/Failed Entries
DeleteCompletedWorkItemsQueu e
Process
Started
Enabled
Default
0
0
0
DeliveryStatusOnStartup
Process
Started
Enabled
Default
0
0
0
DTODeliverablesQueue
Process
Started
Enabled
Default
0
0
0
DTOOffPeakQueue
Process
Started
Enabled
Default
0
0
0
Loading.........
我得到了 25 个表格条目,其余的不存在 我无法理解为什么我会收到“正在加载.....”
【问题讨论】:
-
可能你必须等待表格加载所有条目。
-
这只是意味着数据不存在。某些网站仅在您向下滚动时加载数据。因此,要么您需要向下滚动然后执行此操作,要么您需要在页面仍在加载时使用等待
-
那么有没有其他方法可以读取整个表格
-
向下滚动或不向下滚动时是否正在加载表格?
-
我正在尝试使用 selenium 获取数据,所以我不知道如何以编程方式向下滚动
标签: javascript java selenium xpath selenium-webdriver