selenium提取数据的方法总结

总结下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

Selenium 是一种自动化测试工具,主要用于 Web 应用程序的功能测试。它可以帮助用户模拟人工操作浏览器的行为,并自动完成一系列步骤,比如输入表单、点击按钮等。通过 Selenium,开发者可以编写脚本来验证软件是否按预期运行,从而提高测试效率。 在获取数据方面,通常涉及到从网页上提取信息的操作。这在自动化测试或者数据抓取任务中非常常见。Selenium 通过 WebDriver 接口与其他浏览器交互,允许脚本控制浏览器的加载过程。下面是几个关键点: 1. **选择合适的浏览器驱动**:为了操作不同的浏览器(如 Chrome、Firefox 或者 Safari),你需要安装相应的浏览器驱动并设置好环境变量。 2. **定位元素**:在 HTML 页面中,元素的位置通常是基于 CSS 选择器、XPath、链接文本、标签名或者其他属性来确定的。例如,如果需要获取某个新闻标题的数据,你可以找到该标题的 HTML 元素并使用相应的定位策略。 3. **执行操作**:一旦找到了目标元素,就可以执行各种动作,包括但不限于点击、输入内容、滚动页面等。这对于数据抓取来说至关重要,因为需要按照特定顺序执行各种交互。 4. **获取响应内容**:使用 JavaScript API 可以让 Selenium 脚本读取动态生成的内容。如果你的目标数据在页面加载之后由 JavaScript 动态添加或更新,那么使用 JavaScript 执行上下文可以捕获到这些变化。 5. **解析数据**:获取到 HTML 内容后,通常会使用正则表达式、DOM 操作或者第三方库(如 BeautifulSoup 或 lxml 对于 Python 用户)来解析并提取实际的数据。 6. **处理并发与错误**:自动化脚本可能会遇到网络不稳定、服务器错误或其他异常情况,因此应该包含适当的错误处理机制,同时考虑如何有效地并行执行多个任务。 7. **安全与合规性**:在处理敏感数据时,务必遵守相关的法律与隐私政策,尊重网站的robots.txt 文件指示,并避免过度请求导致对目标网站造成压力。 使用 Selenium 进行数据获取时,需要注意性能优化和稳定性。合理设计脚本结构,分阶段执行复杂操作,利用循环和条件语句来适应各种场景。此外,定期检查和维护驱动以及相关依赖,确保工具能够应对不断变化的技术环境和网站架构。 --- 相关问题: 1. 如何在Python中使用Selenium获取数据? 2. 在进行数据获取时如何处理JavaScript渲染的内容? 3. 使用Selenium进行大规模数据抓取时应考虑哪些因素以防止IP受限?
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值