【发布时间】:2019-12-30 10:51:07
【问题描述】:
我正在尝试提取网页图形上可用的表格内容。只有当有人将光标悬停在该区域内时,这些表格的内容才可见。 this one 就是这样一张表。
表格所在的图表标题为EPS consensus revisions : last 18 months。
到目前为止,我已经尝试过:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
link = "https://www.marketscreener.com/SUNCORP-GROUP-LTD-6491453/revisions/"
driver = webdriver.Chrome()
driver.get(link)
wait = WebDriverWait(driver, 10)
for items in wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, "#graphRevisionBNAeec span > table tr"))):
data = [item.text for item in items.find_elements_by_css_selector("td")]
print(data)
driver.quit()
当我运行上述脚本时,它会抛出错误 raise TimeoutException(message, screen, stacktrace):selenium.common.exceptions.TimeoutException: Message: 指向此 for items in wait.until() 行。
多个表中的单个表的输出应如下所示:
Period: Thursday, Aug 22, 2019
Number of upgrading estimates: 0
Number of unchanged estimates: 7
Number of Downgrading estimates: 0
High Value: 0.90 AUD
Mean Value: 0.85 AUD
Low Value: 0.77 AUD
如何从该图中获取这些表格的内容?
编辑:我仍然期待任何纯粹基于任何浏览器模拟器的解决方案。
【问题讨论】:
标签: python python-3.x selenium selenium-webdriver web-scraping