【发布时间】:2018-02-24 00:37:50
【问题描述】:
我正在尝试从以下网站中提取文本“该站由 Delta Flow 项目办公室管理”:https://waterdata.usgs.gov/ca/nwis/uv?site_no=381504121404001。此行位于 div 类stationContainer 下。由于这是一个动态网页,我使用 selenium 来导出 html。
这是来自网站的 html。
这是我的代码:
from selenium import webdriver
from selenium.webdriver.common.by import By
browser = webdriver.Chrome()
url = "https://waterdata.usgs.gov/ca/nwis/uv?site_no=381504121404001"
browser.get(url) #navigate to the page
innerHTML = browser.execute_script("return document.body.innerHTML")
elem = browser.find_elements_by_xpath("//div[@class='stationContainer']")
print (elem)
我从我的打印消息中得到这个结果:
selenium.webdriver.remote.webelement.WebElement (session="96fc124c0e2d1fd4cd86f61db272d52a", element="0.5862443940581294-1")
我希望通过搜索 div 类来派生文本,但似乎我的方法不正确。
【问题讨论】:
-
您可以获取页面源代码,然后使用 bs4 或 lxml 之类的解析库
-
@whackamadoodle3000,当我得到页面源时,它没有识别这行文本,因为它是从 JS 呈现的
-
使用 selenium 的获取页面源并等待,以便 javascript 可以呈现它
标签: javascript python html selenium