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 ...
最新文章
- hive增量表和全量表_基于 Flink + Hive 构建流批一体准实时数仓
- JVM中垃圾收集算法
- 昨天服务器出现问题,解决过程如下所述
- 大咖力荐!图深度学习奠基性著作重磅上市 | 送书福利
- DCMTK:读取多个图像的示例应用程序
- linux OOM-killer机制(杀掉进程,释放内存)
- 406(浏览器接收的响应类型和服务器返回的响应类型不匹配)
- 智慧交通day02-车流量检测实现14:代码汇总+问题修正
- 微服务升级_SpringCloud Alibaba工作笔记0001---新一代网关spring gateway和zuul的关系说明
- java Http消息传递之POST和GET两种方法--通过实用工具类来获取服务器资源
- C# word 转 pdf
- 鸿蒙手机电脑无缝对接,万物互联?华为鸿蒙OS超级终端功能曝光可一键连接附近设备...
- 【云计算的1024种玩法】使用阿里云+微擎打造微信公众号管理系统
- 【WC2013】糖果公园 树上莫队
- idea出现decompiled .class file 解决方案
- 视频教程-2020年软考网络规划设计师案例分析历年真题详解软考视频教程-软考
- 用全站 CDN 部署 Discourse 论坛
- 059 感情的维系在于什么?
- c++ 无穷大怎么表示_怎么确认贴片二极管型号
- 【20210205期AI简报】联发科发布二代5G基带芯片发布、超强镜像优化从1.16GB到22.4MB!...
热门文章
- 小米推出的付费去MIUI广告服务或扼杀其复苏势头
- mysql中拼音排序的方法_mysql中文拼音排序实现方法
- DevExpress汉化方法详解(附资源)
- [Kali Linux 安全渗透教程新手版]
- 如何在地图上画柱状图python_python使用matplotlib绘制柱状图教程
- 戴尔电脑显示正在锁定计算机怎么办,如何重置Dell计算机上的管理员密码
- maskrcnn安装及遇到的各种问题
- 双tableview连动效果实现
- 服务器系统945主板,IT教程:945主板最高装什么cpu
- MySQL 库表 employees, departments, locations, countries 测试数据