目录
爬虫入门(6)——反爬(2)_WHJ226的博客-CSDN博客
在该博客-CSDN博客博客中讲了动态渲染,Selenium安装,驱动器下载及配置,以及为什么复制得到的XPath后会获取到空的列表,并小试了一下Selenium自动打开百度浏览器。
下面让我们一步一步了解Selenium的操作及用途。
1 Selenium定位方法
Selenium提供了8种元素定位方式,通过这些定位方式可以定位指定元素、提取数据或给指定的元素绑定事件设置样式等。
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自动打开百度