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相关推荐

  1. python自动化办公脚本下载-python自动化脚本

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 运维自动化,已经成为运维必不可少的一部分,下面附上自己写的监控nginx_stat ...

  2. 基于selenium的自动化测试脚本编写-python

    浏览器操作 1 启动浏览器并打开网页 2 拖拽操作 3 弹窗处理 4 后退前进关闭 5 cookies操作 异常处理 1 等待 11 sleep函数 12 隐示例等待 13 使用javascript ...

  3. python制作浏览器插件_分享一个火车浏览器脚本插件python中文分词

    最近在采集一批信息,发现火车浏览器的自带分词插件,分词效果不是很理想,在网上找了一个API分词接口:pullword 其实对于火车浏览器脚本插件用PHP和python都可以写,之前做了一个PHP分词插 ...

  4. python打开浏览器全屏_Python+Selenium自动化——浏览器启动自动全屏配置

    ##直接上代码吧 from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait opti ...

  5. 自动化测试运行脚本(python)

    自动化测试脚本,以QQ空间为例 账号.密码.用户名根据实际情况填写 1.写测试用例代码 import unittest from selenium import webdriver import ti ...

  6. python自动化办公脚本下载-python自动化办公:文件篇(自动整理文件,一键完成)...

    import os list_all=[]#初始化一个空列表 for root ,dirs,files in os.walk(r'C:UsersShineionDesktop新建文件夹'): for ...

  7. python 模拟用户点击浏览器_python爬虫之selenium模拟浏览器

    1.前言 之前在异步加载(AJAX)网页爬虫的时候提到过,爬取这种ajax技术的网页有两种办法:一种就是通过浏览器审查元素找到包含所需信息网页的真实地址,另一种就是通过selenium模拟浏览器的方法 ...

  8. python自动化流程概念_python selenium 自动化流程的一些总结与思考

    首先要考虑的项目为什么要做自动化测试?(主要从自动化测试的优点着手) 其次是什么项目才适合做自动化测试? 自动化测试覆盖率要达到什么样的程度?因为都知道不可能达到100%的,不然脚本太臃肿,反而会失去 ...

  9. chrome 控制台信息获取 python_【python+selenium自动化】设置Chrome启动参数

    起因:直接用selenium的webdriver启动chrome,会弹出"Chrome正在受到自动软件的控制",并且窗口较小,是因为chrome没有加载任何配置 解决:点进sele ...

最新文章

  1. 日积月累-从细节做起
  2. 冬知寒,我方暖,3本Python好书赠你慢慢品
  3. NodeJs——(8)http.ServerRequest的过程
  4. 查看mysql所有命令
  5. 巩固——React的详细安装教程
  6. 5.9UDP客户端服务器-基于OK6410
  7. scala中的集合框架
  8. 【面试宝典】HR最喜欢的程序员简历模板,最佳建议篇
  9. 51单片机语音跳绳计播报跳绳数目
  10. 最新席瓦莱恩服务器人口比例,2021魔兽世界怀旧服3月人口普查_最新怀旧服3月人口普查数据一览_3DM网游...
  11. 进出口业务财务一体化外贸流程管理解决方案
  12. python自动登录qq邮箱_python和selenium实现163邮箱自动登陆
  13. ReadHub源码阅读笔记(二)dagger+MVP
  14. JS: 如何计算一个月有多少天
  15. 光子晶体介质柱的讨论
  16. 新零售时代下,物流行业迎来新机遇
  17. python3根据excel表数据自动生成word格式数据报告
  18. 一篇文章带你了解短信推送机制
  19. 5-QR code识别
  20. shell 文本处理利器awk命令

热门文章

  1. 医药企业计算机管理系统是什么,医药行业 ERP管理系统介绍.pdf
  2. 本地时间不对引起的https网页提示证书风险
  3. 前端js入门知识——JavaScript 注释
  4. 访问服务器网站出现 HTTP ERROR 500 该网页无法正常运作
  5. 中国工程院院士李伯虎:我国已经进入云制造2.0阶段
  6. 【干货分享】流程DEMO-制度发文和干部任免
  7. php 分割中文字符串(1个字,多个字)
  8. 1.5米三维方形亥姆霍兹线圈地磁自动屏蔽补偿系统
  9. 当你累的时候,停下脚步,看看以下的话
  10. js深入了解——正则表达式测试工具demo