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. hive增量表和全量表_基于 Flink + Hive 构建流批一体准实时数仓
  2. JVM中垃圾收集算法
  3. 昨天服务器出现问题,解决过程如下所述
  4. 大咖力荐!图深度学习奠基性著作重磅上市 | 送书福利
  5. DCMTK:读取多个图像的示例应用程序
  6. linux OOM-killer机制(杀掉进程,释放内存)
  7. 406(浏览器接收的响应类型和服务器返回的响应类型不匹配)
  8. 智慧交通day02-车流量检测实现14:代码汇总+问题修正
  9. 微服务升级_SpringCloud Alibaba工作笔记0001---新一代网关spring gateway和zuul的关系说明
  10. java Http消息传递之POST和GET两种方法--通过实用工具类来获取服务器资源
  11. C# word 转 pdf
  12. 鸿蒙手机电脑无缝对接,万物互联?华为鸿蒙OS超级终端功能曝光可一键连接附近设备...
  13. 【云计算的1024种玩法】使用阿里云+微擎打造微信公众号管理系统
  14. 【WC2013】糖果公园 树上莫队
  15. idea出现decompiled .class file 解决方案
  16. 视频教程-2020年软考网络规划设计师案例分析历年真题详解软考视频教程-软考
  17. 用全站 CDN 部署 Discourse 论坛
  18. 059 感情的维系在于什么?
  19. c++ 无穷大怎么表示_怎么确认贴片二极管型号
  20. 【20210205期AI简报】联发科发布二代5G基带芯片发布、超强镜像优化从1.16GB到22.4MB!...

热门文章

  1. 小米推出的付费去MIUI广告服务或扼杀其复苏势头
  2. mysql中拼音排序的方法_mysql中文拼音排序实现方法
  3. DevExpress汉化方法详解(附资源)
  4. [Kali Linux 安全渗透教程新手版]
  5. 如何在地图上画柱状图python_python使用matplotlib绘制柱状图教程
  6. 戴尔电脑显示正在锁定计算机怎么办,如何重置Dell计算机上的管理员密码
  7. maskrcnn安装及遇到的各种问题
  8. 双tableview连动效果实现
  9. 服务器系统945主板,IT教程:945主板最高装什么cpu
  10. MySQL 库表 employees, departments, locations, countries 测试数据