我是靠谱客的博主 忧郁帽子,这篇文章主要介绍python爬虫-28-基于python和Selenium,让你控制浏览器自动化操作,现在分享给大家,希望可以做个参考。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yekx1XeT-1655344437204)(https://mmbiz.qpic.cn/mmbiz_jpg/Nwec3GEnHPFcn4L37IthHd43Zhhg6Ioj852uvQYWAUsWqI9Pdo9pcibPibhGwic3IwuJrXrQZrnp4AicibZuhldpyXQ/640?wx_fmt=jpeg)]

最实用的python和selenium的操作手册,分分钟掌握。

1、selenium打开浏览器

打开浏览器就是初始化一下,然后发起一个请求,他就会自动调用浏览器,并访问这个地址:

复制代码
1
2
3
4
5
6
7
8
from selenium import webdriver # 指定浏览器驱动的位置 Driver_path = r'C:Users22768Desktoppythonchromedriver.exe' # 初始化 driver = webdriver.Chrome(executable_path=Driver_path) # 请求百度 driver.get('http://www.baidu.com')

2、selenium关闭某个标签页

当我们在一个浏览器中打开多个标签页的时候,想关闭一个,就要这么写了:

复制代码
1
2
driver.close()

3、selenium关闭浏览器

当我们运行完我们的代码之后,肯定要关闭掉我们的浏览器,那么就可以在代码最后面写:

复制代码
1
2
driver.quit()

4、selenium定位元素(位置)

这里有很多种定位元素的方法,比如根据XPATHidnameclasscss等方式,我觉得方式越多越乱,所谓一招鲜吃遍天嘛,我们掌握一种即可,我喜欢通过XPATH来定位到具体的位置,为啥子呢,因为浏览器本身可以复制Xpath,我们直接通过他就不用分析对应的网页了,直接开整了就:

复制代码
1
2
Input_Button = driver.find_element(by=By.XPATH, value='具体Xpath')

5、selenium输入内容

所谓的输入内容,就是需要你先定位到某个位置,然后在这个位置里面放入一些值,你可以理解为你的鼠标移动到了输入框,然后输入了一些东西:

复制代码
1
2
Input_Button.send_keys('运维家的博客')

6、selenium点击按钮

当你输入内容之后,是不是需要点击一下百度的按钮,或者按个回车,他才会进行搜索:

复制代码
1
2
3
Down_button = driver.find_element(by=By.XPATH, value='//*[@id="su"]') Down_button.click()

7、selenium获取返回的信息

当我们使用selenium控制浏览器进行相关操作之后,如何获取页面返回的信息呢,通过下面的方式就可以了:

复制代码
1
2
driver.page_source

8、小demo

通过上面的操作,我觉得我们可以来通过上面的内容来写个小demo来实际操作下了。往下看:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from selenium import webdriver from selenium.webdriver.common.by import By import time # 指定浏览器驱动的位置 Driver_path = r'C:Users22768Desktoppythonchromedriver.exe' # 初始化 driver = webdriver.Chrome(executable_path=Driver_path) # 请求百度 driver.get('http://www.baidu.com') # 获取信息 print(driver.page_source) # 找到输入框 Input_Button = driver.find_element(by=By.XPATH, value='//*[@id="kw"]') # 输入内容 Input_Button.send_keys('运维家的博客') # 找到“百度一下”按钮的xpath路径 Down_button = driver.find_element(by=By.XPATH, value='//*[@id="su"]') # 点击一下“百度一下”按钮 Down_button.click() # 等待5s time.sleep(5) # 退出当前页面 driver.close()

可以看到浏览器从开始,到出现如下界面,然后关闭的整个过程;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WmKlmEN7-1655344437206)(https://mmbiz.qpic.cn/mmbiz_jpg/Nwec3GEnHPFcn4L37IthHd43Zhhg6IojhRxbzv0o2FJeQzXze1iaAmxR77eGpibWFun1sRjrdicqzpOgOcBtABiavg/640?wx_fmt=jpeg)]

是不是还挺神奇的,同时,我们的后台日志也输出了该页面的html代码,如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8UbID7zG-1655344437207)(https://mmbiz.qpic.cn/mmbiz_jpg/Nwec3GEnHPFcn4L37IthHd43Zhhg6IojJvzs52mQfpFQn74bZwylKH17Av02otialpaKQnMpcgZ4f0mrLXDZRDA/640?wx_fmt=jpeg)]

如果我们需要获取启动的数据,那么就可以使用etree的方式,然后再结合一些正则或者xpath语法来获取。

那么我们继续来看下pythonselenium其他的更多用法吧。

9、selenium控制浏览器最大化

剩余内容请转至VX公众号 “运维家” ,回复 “189” 查看。

------ “运维家” ,回复 “189” ------
------ “运维家” ,回复 “189” ------
------ “运维家” ,回复 “189” ------

运维工程师是干什么的,收单猫运维工程师,武威光伏运维工程师,西安运维交付工程师招聘,石家庄网络运维工程师招聘;
数据中心运维基础工程师,运维工程师刚进公司什么都不会,顺丰的it运维工程师,佛山IDC机房运维工程师招聘,武汉仕云运维工程师加班多吗;
运维工程师T1,设施运维工程师转型,erp运维工程师培训课题,江西环保运维工程师招聘,通富微电子桌面运维工程师;
成都科技园运维工程师招聘,运维工程师的英语怎么说,运维工程师ppt,粤电风 电运维工程师咋样,运维工程师的薪酬。

最后

以上就是忧郁帽子最近收集整理的关于python爬虫-28-基于python和Selenium,让你控制浏览器自动化操作的全部内容,更多相关python爬虫-28-基于python和Selenium内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(79)

评论列表共有 0 条评论

立即
投稿
返回
顶部