Web刮擦Java函数创建的表

问题描述 投票:1回答:1

我正在尝试在下面的链接中检索研究表

https://clinicaltrials.gov/ct2/results?cond=COVID&term=&cntry=&state=&city=&dist=

该表已使用Javascript动态创建了内容。我尝试使用硒,但间歇性地获取StaleElementException。请同样帮我。

我想检索表中的所有行并将它们存储在本地数据库中。这是我在硒中尝试过的

 import selenium.webdriver as webdriver
 url = 'https://clinicaltrials.gov/ct2/results?cond=COVID&term=&cntry=&state=&city=&dist='
 driver=webdriver.Firefox()
 #driver.implicitly_wait(30)
 driver.get(url)
 data = []
 for tr in driver.find_elements_by_xpath('//table[@id="theDataTable"]//tbody//tr'):
  tds = tr.find_elements_by_tag_name('td')
   if tds:
    for td in tds:
     print(td.text)
     if td.text not in data:
      data.append(td.text)          
 driver.quit()
 print('*********************************************************************')
 print(data)

另外,我将存储在数据库中的'data'变量中的数据。

我是Selenium和Web Scraping的新手,此外,我想单击“研究标题”列中的每个链接,并从该页面提取每个研究的数据。

我想提出一些建议,以避免/处理陈旧的元素异常或Selenium Webdriver的替代方法。在此先感谢!

python-3.x selenium selenium-webdriver automation geckodriver
1个回答
0
投票

我尝试了以下代码,所有数据都正确存储。你可以试试吗?

© www.soinside.com 2019 - 2024. All rights reserved.