我想在Selenium中使用与BeautifulSoup相同的find方法find(findClass,class_ = findValue),我搜索了但没有我需要的,你能帮我吗?哪一个在webDriver中与BeautifulSoup的find_(findTag,class_ = findValue)相同?
回答
您可以直接翻译您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")
这是你在找什么:
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)
被equlivent到
soup.findAll("div", { "class" : className})
对不起,我的原代码是soup.find(“格”,类_ =“列表容器”)find_all (“a”),所以driver.find_elements_by_class(“list-container”)是否可以? – mikezang
@mikezang你是对的。 –
@mikezang你需要使用for循环来提取'a'。 –
如果您需要执行一些任务lik e点击一个按钮,使用硒API。
如果您需要从HTML代码中提取数据,则应使用BeautiflSoup。
您可以使用硒获取HTML代码,然后使用BeautifulSoup解析它。
html_source = browser.page_source
soup = BeautifulSoup(html_source)
我的问题是如何避免使用BeautifulSoup ....,如果使用我的代码是可以的VeautifulSoup :) – mikezang
- 1. BeautifulSoup - 哪个URL
- 2. selenium webdriver“is_element_present”与“driver.find_element_by〜”相同吗?
- 3. 在watir-webdriver的另一个元素的相同段落中查找元素
- 4. 使用BeautifulSoup与同名
- 5. 如何在python中同时抛出多个html页面与beautifulsoup?
- 6. Webscraping与BeautifulSoup在Python
- 7. 如何处理相同的多个窗口,例如谷歌在Selenium WebDriver与Java
- 8. 与beautifulsoup多个类
- 9. PHP和MySQL:与一排相同相似的行计数,在一个声明中
- 10. Beautifulsoup在while循环中调用时返回相同的结果
- 11. Python:阅读与BeautifulSoup具有相同属性的多个元标记内容?
- 12. beautifulsoup - 一个div
- 13. 如何从两张相同的Excel中使用相同的DataProvider读取数据Selenium WebDriver中的同一类
- 14. 如何判断列表中的哪些对象与同一类型的另一个对象最相同?
- 15. 与其中一个潜在滚动相同大小的列
- 16. 两个crons做在Linux中,哪一个是相同的工作做得更好
- 17. AppFramework中的哪一个相当于jQM
- 18. 检查哪一个对象与另一物体碰撞而脚本是相同
- 19. 哪个实现相同的接口
- 20. Python - Beautifulsoup与PDF图片(相对路径)
- 21. Java等于一个类。与.equals相同
- 22. 相同的数据与不同的过滤器在一个单一的视觉
- 23. 在webdriver中搜索具有相同类名的元素
- 24. 无法与BeautifulSoup
- 25. BeautifulSoup与空间
- 26. 与beautifulsoup
- 27. 与beautifulsoup
- 28. 与BeautifulSoup
- 29. 与beautifulsoup
- 30. 与BeautifulSoup
link = soup.find(“div”,class _ =“list-container”)。find_all(“a”),href = link.get(“href”),上面的代码是可以的。但是你的两个答案都得到了相同的例外...... – mikezang
正如Alex所指出的,你需要学习Selenium的API,阅读文档。在硒中,您可以调用单个webelement上的'get_attribute(“href”)'以获取属性值... – har07
我通过get_attribute得到了它。感谢您的意见。 @ har07 – mikezang