python selenium自动化,python自动化测试selenium
本文主要详细介绍Python的Selenium自动爬虫。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下,希望能帮到你。
00-1010 Selenium自动化爬虫用Python 0。导言1。安装2。下载浏览器驱动程序3。例4。开启无头模式5。保存页面截图6。模拟输入点击a .根据文本值找到节点B .打印当前网页的部分信息d .关闭浏览器e .模拟鼠标滚动7.ChromeOptions8 .验证滑块移动9 .类型。多窗口和页面切换。Cookie操作11。模拟登录12。使用代理14。换UA15。16岁以上的老鼠。优缺点总结
目录
Python之Selenium自动化爬虫
Selenium是一个Web自动化测试工具,最初是为网站自动化测试而开发的。Selenium可以直接在浏览器上运行。它支持所有主流浏览器(包括PhantomJS,它没有接口(2018年开发者说暂停开发,chromedriver也可以实现同样的功能)),可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至可以对页面进行截屏。
0.介绍
皮普安装硒-I https://pypi.tuna.tsinghua.edu.cn/simple
1.安装
这里用的谷歌浏览器
http://npm.taobao.org/mirrors/chromedriver/
检查您的浏览器版本并下载相应的驱动程序。
将解压缩后的驱动程序放入python.exe目录。
2.下载浏览器驱动
我之前写过三个例子。
https://www.jb51.net/article/236004.htm
3.实例
是否开启无头模式(即是否需要界面)
从selenium.webdriver导入Chrome
来自selenium . web driver . chrome . Options导入选项
Option=options() #实例化选项对象
option . Add _ argument(-headless )#向选项对象添加一个无头参数
Option.headless=True #这样就可以了。
if __name__==__main__:
web=chrome(executable _ path= d : py project spider venv scripts chrome driver . exe ,options=option) #指定驱动器位置,否则在python解释器目录中查找。
web . get( https://百度
.com")
print(web.title)
5.保存页面截图
from selenium.webdriver import Chrome
6.模拟输入和点击
from selenium.webdriver import Chrome
貌似现在百度可以识别出selenium,还需要图片验证。
a.根据文本值查找节点
# 找到文本值为百度一下的节点
b.获取当前节点的文本
ele.text # 获取当前节点的文本
c.打印当前网页的一些信息
print(driver.page_source) # 打印网页的源码
d.关闭浏览器
driver.close() # 关闭当前网页
e.模拟鼠标滚动
from selenium.webdriver import Chrome
7.ChromeOptions
options = webdriver.ChromeOptions()
8.验证滑块移动
"""
9.打开多窗口和页面切换
有时候窗口中有很多子tab页面。这时候肯定是需要进行切换的。selenium提供了一个叫做switch_to_window来进行切换,具体切换到哪个页面,可以从driver.window_handles中找到
from selenium import webdriver
第二个实例
if __name__ == __main__: from selenium import webdriver import time driver = webdriver.Chrome() start_url = https://www.baidu.com start_url_1 = https://www.csdn.net driver.get(start_url) time.sleep(5) """通过执行js代码,打开浏览器窗口,访问地址""" js = window.open("{}").format(start_url_1) driver.execute_script(js) time.sleep(5) """获取浏览器所有窗口:注意点:窗口的切换是通过下标控制的""" win = driver.window_handles # 执行切换 driver.switch_to.window(win[0]) time.sleep(2) driver.switch_to.window(win[1]) time.sleep(2) driver.switch_to.window(win[0]) time.sleep(2) driver.switch_to.window(win[1]) # 浏览器窗口的关闭 driver.close() # 退出浏览器 driver.quit()
有时候网页会内嵌另一个html。一般称为iframe
from selenium import webdriver
10.Cookie操作
# 1.获取所有的cookie:
11.模拟登录
这里模拟登录我们学校教务处。
from selenium.webdriver import Chrome
因为没有滑块啥的验证,所以就很简单qwq。然后后面进行自己的操作即可。
12.使用代理
from selenium import webdriver
14.更换UA
from selenium import webdriver
15.鼠标悬停
if __name__ == __main__:
16.优缺点
selenium
能够执行页面上的js,对于js渲染的数据和模拟登陆处理起来非常容易。
selenium
由于在获取页面的过程中会发送很多请求,所以效率非常低,所以在很多时候需要酌情使用。
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注盛行IT软件开发工作室的更多内容!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。