总结下selenium提取数据的几种方法:
1.通过元素标签名提取
driver.find_element_by_tag_name()
2.通过元素class属性
driver.find_element_by_class_name()
3.通过元素id属性
driver.find_element_by_id()
4.通过元素name属性
driver.find_element_by_name()
5.通过链接文本获取超链接
driver.find_element_by_link_text()
比如
笨小孩的博客
提取超链接可以
driver.find_element_by_link_text(‘笨小孩的博客’)
6.通过部分链接文本获取超链接
driver.find_element_by_partial_link_text()
比如
笨小孩的博客
提取超链接可以
driver.find_element_by_partial_link_text(‘笨小孩’)
7.如果要提取属性数据的话,我们可以通过WebElement.get_attribute()
比如:
怎么提取style属性里的值?
我们可以通过提取tag_name【div】 或者id,class属性定位蓝色部分的WebElement,然后附上【.get_attribute(‘style’)】,见代码
from selenium import webdriver
driver=webdriver.Chrome()
style=driver.find_element_by_id('ibm-leadspace-head').get_attribute("style")
8.超实用的xpath提取
登录,翻页,搜索这些功能的实现,无法简单的使用class=’xx’,或id=’xxx’准确定位到需要的元素,这就涉及到Xpath的使用。Xpath 的获取有很多方法,这里详细讲讲最简单的方法——使用Chorme得到Xpath的定位。Chorme浏览器功能很强大,能很好的实现Xpath定位,建议大家使用爬虫的时候优先考虑它。
以拉勾网网址https://www.lagou.com/为例:
单击鼠标右键,选择检查。进入开发者界面,点选左上角网页元素选择。
鼠标移到左边登录键,我们就能看到左边的代码定位了。
按住ctrl+f,调出搜索框。
观察父级子级关系,a标签在li标签之下,class属性为login。
在搜索框中输入验证下,看能否找到。
很好,能找到。我们就可以带入到selenium里面,让selenium和Xpath合作啦~
#登录
login=driver.find_element_by_xpath('//li/a[@class="login"]')
login.click()
以上就是selenium获取数据方法的总结。
————————————————
最后推广下我的wx公众号:BXH_data