爬虫入门(7)——反爬(3)Selenium

本文介绍了Selenium的使用,包括通过id、name、XPath和class name定位网页元素,模拟点击、输入和清除操作,以及控制浏览器的尺寸、前进后退和刷新页面。以百度搜索为例,详细展示了Selenium在爬虫中的应用。
摘要由CSDN通过智能技术生成

目录

1 Selenium定位方法

1.1 id定位

 1.2 name定位

 1.3 XPath定位

1.4 class name定位

2 模拟操作

2.1 模拟点击操作

 2.2 模拟输入和搜索操作

2.3 模拟清除

 3 控制浏览器操作

3.1 设置浏览器尺寸

3.2 控制浏览器后退和前进

3.3 刷新页面


爬虫入门(6)——反爬(2)_WHJ226的博客-CSDN博客

在该博客-CSDN博客博客中讲了动态渲染,Selenium安装,驱动器下载及配置,以及为什么复制得到的XPath后会获取到空的列表,并小试了一下Selenium自动打开百度浏览器。

下面让我们一步一步了解Selenium的操作及用途。

1 Selenium定位方法

Selenium提供了8种元素定位方式,通过这些定位方式可以定位指定元素、提取数据或给指定的元素绑定事件设置样式等。

Selenium中的8种定位方法与Python中的方法对照
Selenium定位方法 Python中的对照方法
id find_element(by=By.ID,value=)
name find_element(by=By.NAME,value=)
class name find_element(by=By.CLASS_NAME,value=)
tag name find_element(by=By.TAG_NAME,value=)
link text find_element(by=By.LINK_TEXT,value=)
partial link text find_element(by=By.PARTIAL_LINK_TEXT,value=)
xpath find_element(by=By.XPATH,value=)
css selector find_element(by=By.CSS_SELECTOR,value=)

表中是最新的定位方法,之前大都是这样写的(在PyCharm2022.1.1版中已经不在使用以下方式):

sel_el = web.find_element_by_xpath('/html/body/div[4]/div[1]/div[1]/ul')

 我们可以看到之前的方法已经被弃用,而且运行后会有如下警告来提示我们:

DeprecationWarning: find_element_by_xpath is deprecated. Please use find_element(by=By.XPATH, value=xpath) instead
  sel_el = web.find_element_by_xpath('/html/body/div[4]/div[1]/div[1]/ul')

因此我们需要修改为以下代码格式:

sel_el = web.find_element(by=By.XPATH, value='/html/body/div[4]/div[1]/div[1]/ul')

下面让我们来了解一下这些方法中的常用方法怎么使用。

我们以百度首页为例,我们的目标是使用Selenium自动打开百度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值