python爬虫-28-基于python和Selenium,让你控制浏览器自动化操作
Posted 公号运维家
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫-28-基于python和Selenium,让你控制浏览器自动化操作相关的知识,希望对你有一定的参考价值。
最实用的python和selenium的操作手册,分分钟掌握。
1、selenium打开浏览器
打开浏览器就是初始化一下,然后发起一个请求,他就会自动调用浏览器,并访问这个地址:
from selenium import webdriver
# 指定浏览器驱动的位置
Driver_path = rC:\\Users\\22768\\Desktop\\python\\chromedriver.exe
# 初始化
driver = webdriver.Chrome(executable_path=Driver_path)
# 请求百度
driver.get(http://www.baidu.com)
2、selenium关闭某个标签页
当我们在一个浏览器中打开多个标签页的时候,想关闭一个,就要这么写了:
driver.close()
3、selenium关闭浏览器
当我们运行完我们的代码之后,肯定要关闭掉我们的浏览器,那么就可以在代码最后面写:
driver.quit()
4、selenium定位元素(位置)
这里有很多种定位元素的方法,比如根据XPATH
、id
、name
、class
、css
等方式,我觉得方式越多越乱,所谓一招鲜吃遍天嘛,我们掌握一种即可,我喜欢通过XPATH
来定位到具体的位置,为啥子呢,因为浏览器本身可以复制Xpath
,我们直接通过他就不用分析对应的网页了,直接开整了就:
Input_Button = driver.find_element(by=By.XPATH, value=具体Xpath)
5、selenium输入内容
所谓的输入内容,就是需要你先定位到某个位置,然后在这个位置里面放入一些值,你可以理解为你的鼠标移动到了输入框,然后输入了一些东西:
Input_Button.send_keys(运维家的博客)
6、selenium点击按钮
当你输入内容之后,是不是需要点击一下百度的按钮,或者按个回车,他才会进行搜索:
Down_button = driver.find_element(by=By.XPATH, value=//*[@id="su"])
Down_button.click()
7、selenium获取返回的信息
当我们使用selenium
控制浏览器进行相关操作之后,如何获取页面返回的信息呢,通过下面的方式就可以了:
driver.page_source
8、小demo
通过上面的操作,我觉得我们可以来通过上面的内容来写个小demo
来实际操作下了。往下看:
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
# 指定浏览器驱动的位置
Driver_path = rC:\\Users\\22768\\Desktop\\python\\chromedriver.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()
可以看到浏览器从开始,到出现如下界面,然后关闭的整个过程;
是不是还挺神奇的,同时,我们的后台日志也输出了该页面的html
代码,如下图:
如果我们需要获取启动的数据,那么就可以使用etree
的方式,然后再结合一些正则或者xpath
语法来获取。
那么我们继续来看下python
中selenium
其他的更多用法吧。
9、selenium控制浏览器最大化
selenium
运行的时候我们的浏览器默认打开是一个小框框,个人喜欢让其最大化,那么如何操作呢:
剩余内容请转至VX公众号 “运维家” ,回复 “189” 查看。
------ “运维家” ,回复 “189” ------
------ “运维家” ,回复 “189” ------
------ “运维家” ,回复 “189” ------
运维工程师是干什么的,收单猫运维工程师,武威光伏运维工程师,西安运维交付工程师招聘,石家庄网络运维工程师招聘;
数据中心运维基础工程师,运维工程师刚进公司什么都不会,顺丰的it运维工程师,佛山IDC机房运维工程师招聘,武汉仕云运维工程师加班多吗;
运维工程师T1,设施运维工程师转型,erp运维工程师培训课题,江西环保运维工程师招聘,通富微电子桌面运维工程师;
成都科技园运维工程师招聘,运维工程师的英语怎么说,运维工程师ppt,粤电风 电运维工程师咋样,运维工程师的薪酬。
以上是关于python爬虫-28-基于python和Selenium,让你控制浏览器自动化操作的主要内容,如果未能解决你的问题,请参考以下文章
小白学 Python 爬虫(28):自动化测试框架 Selenium 从入门到放弃(下)