【发布时间】:2017-02-27 06:29:18
【问题描述】:
我想在 Selenium 中使用 BeautifulSoup 的相同查找方法 find(findClass, class_=findValue),我搜索了但没有我需要的,你能帮帮我吗?
【问题讨论】:
标签: python selenium beautifulsoup
我想在 Selenium 中使用 BeautifulSoup 的相同查找方法 find(findClass, class_=findValue),我搜索了但没有我需要的,你能帮帮我吗?
【问题讨论】:
标签: python selenium beautifulsoup
你可以把你的 BeautifulSoup 代码翻译成相当强大的 CSS 选择器表达式,然后使用 find_elements_by_css() :
# equivalent to : soup.find("div", class_="list-container")
driver.find_element_by_css("div.list-container")
# equivalent to : soup.find("div", class_="list-container").find_all("a")
driver.find_elements_by_css("div.list-container a")
【讨论】:
get_attribute("href") 以获取属性值...
findTag#findValue linkTag 或 findTag[id="findValue"] linkTag。了解更多关于CSS selector
这就是你要找的东西:
elements = []
classes = driver.find_elements_by_class(className)
for c in classes:
l = c.find_elements_by_tag_name(tagName)
if l:
elements.extent(l)
等价于
soup.findAll("div", { "class" : className})
【讨论】:
a。
如果您需要执行一些任务,例如单击按钮,请使用 selenium API。
如果你需要从 HTML 代码中提取数据,你应该使用 BeautiflSoup。
您可以使用 selenium 获取 HTML 代码,然后使用 BeautifulSoup 进行解析:
html_source = browser.page_source
soup = BeautifulSoup(html_source)
【讨论】: