Day536.Selenium自动化浏览器脚本爬虫 -python
Selenium
一、Selenium
1、什么是selenium
(1)Selenium是一个用于
Web应用程序测试
的工具。
(2)Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。
(3)支持通过各种driver(FirfoxDriver,IternetExplorerDriver,OperaDriver,ChromeDriver)驱动真实浏览器完成测试。
(4)selenium也是支持无界面浏览器操作的。
2、为什么使用selenium
*模拟浏览器功能,自动执行网页中的js代码,实现动态加载 *
3、如何安装selenium
- 操作谷歌浏览器驱动下载地址
- 谷歌驱动和谷歌浏览器版本之间的映射表
- 查看谷歌浏览器版本
谷歌浏览器右上角‐‐>帮助‐‐>关于
- pip install selenium
4、selenium的使用步骤
基本使用
from selenium import webdriver # 指定浏览器启动地址 path = 'chromedriver.exe' browser = webdriver.Chrome(path)# 访问网址 url = 'http://www.jd.com' browser.get(url)# page_source获取网页源码数据 context = browser.page_source print(context)
selenium的元素定位
```python
from selenium import webdriverdriver_path = 'chromedriver.exe'
browser = webdriver.Chrome(driver_path)url = 'http://www.baidu.com'
browser.get(url)# 元素定位
# button = browser.find_element_by_id('su')
# print(button)
```
- 访问元素信息
from selenium import webdriverpath = 'chromedriver.exe'
browser = webdriver.Chrome(path)url = 'http://www.baidu.com'
browser.get(url)input = browser.find_element_by_id('su')
print(input.get_attribute('class'))
print(input.tag_name)
print(input.text)
- 交互
from selenium import webdriver
import timepath = 'chromedriver.exe'
browser = webdriver.Chrome(path)url = 'https://www.baidu.com'
browser.get(url)time.sleep(2)input = browser.find_element_by_id('kw')
input.send_keys('蝙蝠侠')time.sleep(2)button = browser.find_element_by_id('su')
button.click()time.sleep(2)js_bottom = 'document.documentElement.scrollTop=100000'
browser.execute_script(js_bottom)time.sleep(1)next_button = browser.find_element_by_xpath('//a[@class="n"]')
next_button.click()time.sleep(1)browser.back()time.sleep(2)browser.forward()time.sleep(3)browser.quit()
二、Phantomjs
from selenium import webdriverpath = 'phantomjs.exe'
browser = webdriver.PhantomJS(path)url = 'https://www.baidu.com'
browser.get(url)# browser.save_screenshot('baidu.jpg')
三、Chrome handless
Chrome-headless 模式, Google 针对 Chrome 浏览器 59版 新增加的一种模式,可以让你不打开UI界面的情况下使用 Chrome 浏览器,所以运行效果与 Chrome 保持完美一致。
- 系统要求
- 基本使用配置
from selenium import webdriver
from selenium.webdriver.chrome.options import Optionschrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable‐gpu')
# 设置为自己chrome浏览器.exe的系统路径
path = r'C:\Users\99593\AppData\Local\Google\Chrome\Application\chrome.exe'
chrome_options.binary_location = path
browser = webdriver.Chrome(chrome_options=chrome_options)browser.get('https://www.baidu.com')
# browser.save_screenshot('baidu.jpg')
Day536.Selenium自动化浏览器脚本爬虫 -python相关推荐
- python自动化办公脚本下载-python自动化脚本
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 运维自动化,已经成为运维必不可少的一部分,下面附上自己写的监控nginx_stat ...
- 基于selenium的自动化测试脚本编写-python
浏览器操作 1 启动浏览器并打开网页 2 拖拽操作 3 弹窗处理 4 后退前进关闭 5 cookies操作 异常处理 1 等待 11 sleep函数 12 隐示例等待 13 使用javascript ...
- python制作浏览器插件_分享一个火车浏览器脚本插件python中文分词
最近在采集一批信息,发现火车浏览器的自带分词插件,分词效果不是很理想,在网上找了一个API分词接口:pullword 其实对于火车浏览器脚本插件用PHP和python都可以写,之前做了一个PHP分词插 ...
- python打开浏览器全屏_Python+Selenium自动化——浏览器启动自动全屏配置
##直接上代码吧 from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait opti ...
- 自动化测试运行脚本(python)
自动化测试脚本,以QQ空间为例 账号.密码.用户名根据实际情况填写 1.写测试用例代码 import unittest from selenium import webdriver import ti ...
- python自动化办公脚本下载-python自动化办公:文件篇(自动整理文件,一键完成)...
import os list_all=[]#初始化一个空列表 for root ,dirs,files in os.walk(r'C:UsersShineionDesktop新建文件夹'): for ...
- python 模拟用户点击浏览器_python爬虫之selenium模拟浏览器
1.前言 之前在异步加载(AJAX)网页爬虫的时候提到过,爬取这种ajax技术的网页有两种办法:一种就是通过浏览器审查元素找到包含所需信息网页的真实地址,另一种就是通过selenium模拟浏览器的方法 ...
- python自动化流程概念_python selenium 自动化流程的一些总结与思考
首先要考虑的项目为什么要做自动化测试?(主要从自动化测试的优点着手) 其次是什么项目才适合做自动化测试? 自动化测试覆盖率要达到什么样的程度?因为都知道不可能达到100%的,不然脚本太臃肿,反而会失去 ...
- chrome 控制台信息获取 python_【python+selenium自动化】设置Chrome启动参数
起因:直接用selenium的webdriver启动chrome,会弹出"Chrome正在受到自动软件的控制",并且窗口较小,是因为chrome没有加载任何配置 解决:点进sele ...
最新文章
- 日积月累-从细节做起
- 冬知寒,我方暖,3本Python好书赠你慢慢品
- NodeJs——(8)http.ServerRequest的过程
- 查看mysql所有命令
- 巩固——React的详细安装教程
- 5.9UDP客户端服务器-基于OK6410
- scala中的集合框架
- 【面试宝典】HR最喜欢的程序员简历模板,最佳建议篇
- 51单片机语音跳绳计播报跳绳数目
- 最新席瓦莱恩服务器人口比例,2021魔兽世界怀旧服3月人口普查_最新怀旧服3月人口普查数据一览_3DM网游...
- 进出口业务财务一体化外贸流程管理解决方案
- python自动登录qq邮箱_python和selenium实现163邮箱自动登陆
- ReadHub源码阅读笔记(二)dagger+MVP
- JS: 如何计算一个月有多少天
- 光子晶体介质柱的讨论
- 新零售时代下,物流行业迎来新机遇
- python3根据excel表数据自动生成word格式数据报告
- 一篇文章带你了解短信推送机制
- 5-QR code识别
- shell 文本处理利器awk命令