当前位置: 首页 > news >正文

python自动化Selenium的使用

python自动化Selenium的使用

Selenium是一个自动化测试框架,用于模拟和控制浏览器操作,支持多种编程语言。它可以模拟人类用户在浏览器上的操作(如点击、滚动、输入等),并检查网页内容和元素的属性。Selenium可用于对网站进行功能测试、性能测试、兼容性测试等。Selenium包含三个主要组件:

  1. Selenium IDE: Selenium IDE是一个基于浏览器的插件,用于录制和回放用户操作,可以生成自动化脚本,适用于初学者。

  2. Selenium WebDriver: Selenium WebDriver是一个可以直接控制浏览器的工具,提供了多种编程语言的接口,可以在不同的浏览器上进行测试。

  3. Selenium Grid: Selenium Grid是一个分布式测试工具,可以将测试用例分发到不同的计算机上进行测试,提高测试效率。

Selenium的主要优点包括:跨平台、多浏览器支持、灵活性高、可扩展性好、开放源代码等。

selenium的安装和使用

  1. 下载google驱动包

    从淘宝镜像下载合适的驱动包,解压驱动包到合适的位置。找不到驱动可以从官方获取驱动。

  2. 使用pip安装selenium

    pip install selenium

  3. 示例baidu_selenium.py

import time
from selenium import webdriver# 创建浏览器对象
browser = webdriver.Chrome('chromedriver.exe')
# 访问百度网站,如京东默认会校验是否真实浏览器访问
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(2)
# 获取下一页按钮
next = browser.find_element_by_xpath('//a[@class="n"]')
next.click()
time.sleep(2)
# 回到上一页
browser.back()
time.sleep(2)
# 回去
browser.forward()
time.sleep(3)
# 退出
browser.quit()
# content = browser.page_source
# input = browser.find_element_by_id('id')
# input.get_attribute('class') 获取属性
# browser.find_element_by_class_name('className')
# browser.find_element_by_name('input')
  1. 示例no_page_selenium.py
# PhantomJS已不推荐使用
# browser = webdriver.PhantomJS('path')
# url = 'https://www.baidu.com'
# browser.get(url)
# browser.save_screenshot('baidu.png')
# time.sleep(2)
# browser.quit()# 无界面的浏览器,不进行css和gui的渲染、运行效率高,Phantomjs和Chrome handless
from selenium import webdriver
from selenium.webdriver.chrome.options import Options# 配置选项
def share_browser():chrome_options = Options()chrome_options.add_argument('--headless')chrome_options.add_argument('--disable-gpu')# chrome浏览器的路径path = r'C:\Program Files\Google\Chrome\Application\chrome.exe'chrome_options.binary_location = pathbrowser = webdriver.Chrome(chrome_options=chrome_options)return browserbrowser = share_browser()
# 设置浏览器最大化显示
browser.maximize_window()
url = 'https://www.baidu.com'
browser.get(url)
browser.save_screenshot('baidu.png')
http://www.lryc.cn/news/152571.html

相关文章:

  • 大数据课程K13——Spark的距离度量相似度度量
  • Lambda表达式第四版
  • 自定义类加载器
  • 【Redis】Redis 的学习教程(七)之 SpringBoot 集成 Redis
  • Vlan和Trunk
  • java 批量下载将多个文件(minio中存储)压缩成一个zip包
  • nnUNet v2数据准备及格式转换 (二)
  • ant-vue1.78版监听a-modal遮罩层的滚动事件
  • MATLAB中residue函数用法
  • 攻防世界-Caesar
  • 嵌入式开发-lin总线介绍 一.概述
  • 羊城杯-2023-Crypto
  • RabbitMQ快速上手及讲解
  • 使用多线程std::thread发挥多核计算优势(解答)
  • MySQL分页查询详解:优化大数据集的LIMIT和OFFSET
  • 解构赋值、函数默认值
  • 【已解决】Mybatis 实现 Group By 动态分组查询
  • Android修改默认gradle路径
  • 原生JS+canvas实现炫酷背景
  • Linux学习之NAS服务器搭建
  • 分享码云上8个宝藏又有价值的开源图片编辑器
  • TCP Header都有啥?
  • 无涯教程-Android - AutoCompleteTextView函数
  • 【Docker】 07-安装ElasticSearch、Kibana
  • 【数据结构篇】线性表1 --- 顺序表、链表 (万字详解!!)
  • C语言每日一练--Day(17)
  • 8月琐碎但值得的事情
  • 苹果Mac系统如何优化流畅的运行?提高运行速度
  • Python 类和对象
  • VC++使用Microsoft Speech SDK进行文字TTS朗读