【发布时间】:2019-08-09 22:06:22
【问题描述】:
以前有人问过这个问题,但我已经搜索并尝试过,但仍然无法让它工作。我是 Selenium 的初学者。
看看:https://finance.yahoo.com/quote/FB
我正在尝试从网络上抓取“推荐评级”,在撰写本文时,它是 2。我已经尝试过:
driver.get('https://finance.yahoo.com/quote/FB')
time.sleep(10)
rating = driver.find_element_by_css_selector('#Col2-4-QuoteModule-Proxy > div > section > div > div > div')
print(rating.text)
...这不会给我一个错误,但也不会打印任何文本。我也尝试过使用 xpath、class_name 等。相反,我尝试了:
source = driver.page_source
print(source)
这也不起作用,我只是在没有动态生成的内容的情况下获取实际源代码。当我在 Chrome 中单击“查看源代码”时,它不存在。我尝试将网页保存在 chrome 中。没用。
然后我发现如果我保存整个网页,包括图像和 css 文件和所有内容,源代码与我保存 HTML 的源代码不同。
当我使用 Chrome 保存整个网页时获得的 HTML 文件确实包含我需要的信息,起初我正在考虑使用 pyautogui 来仅 Ctrl + S 每个网页,但必须有另一种方法。
我需要的信息显然在 html 代码中,但我如何在不下载整个网页的情况下获得它?
【问题讨论】:
标签: python html python-3.x selenium-webdriver