系列文章目录

selenium webdriver 的常用示例

文章目录

  • 系列文章目录
    • selenium webdriver 的常用示例
  • 前言
  • 一、Pip安装&创建Bowser对象
    • 1.Pip install selenium
    • 2.创建Bowser对象
  • 二、webdriver.ChromeOptions配置
    • 配置浏览器的常用模式
  • 三、常用代码
  • 四、selenium的异常处理
  • 总结

前言

本文就介绍了Selenium的常用内容:了解Selenium Webdriver 是干什么的


以下是本篇文章正文内容,下面案例可供参考

一、Pip安装&创建Bowser对象

1.Pip install selenium

pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple

2.创建Bowser对象

# 导入webdriver模块
from selenium import webdriver# 指定使用Chrome浏览器
driver = webdriver.Chrome()  # chrome_options,executable_path常用这两个参数

二、webdriver.ChromeOptions配置

配置浏览器的常用模式

chromeoptions 的常用功能
(1)添加启动参数 (add_argument)
(2)添加扩展应用参数 (add_extension, add_encoded_extension),常用在代理身份验证
(3)添加实验性质参数 (add_experimental_option)
代码如下(示例):

options= webdriver.ChromeOptions()  # 创建配置对象
options.add_argument('lang=zh_CN.UTF-8')  # 设置中文
options.add_argument('--headless')  # 无头参数,浏览器隐藏在后台运行
options.add_argument('--disable-gpu') # 禁用GPU加速
options.add_argument('--start-maximized')#浏览器最大化
options.add_argument('--window-size=1280x1024') # 设置浏览器分辨率(窗口大小)
options.add_argument('--user-agent=""') # 设置请求头的User-Agent
options.add_argument('--incognito')  # 隐身模式(无痕模式)
options.add_argument(f'--proxy-server={proxy}')  # 添加IP代理 proxy=f"http://{ip}:{port}"
# 关闭'Chrome目前受到自動測試軟體控制'的提示
options.add_experimental_option('useAutomationExtension', False)
options.add_experimental_option('excludeSwitches', ['enable-automation'])
prefs = {"download.default_directory":"D:\download",  # 设置浏览器下载地址(绝对路径)"profile.managed_default_content_settings.images": 2,  # 不加载图片
}
chrome_options.add_experimental_option('prefs', prefs)  # 添加prefs
# chrome_options="浏览器配置参数", executable_path="浏览器驱动绝对路径"
driver = webdriver.Chrome(chrome_options=options")  # 创建浏览器对象
driver.maximize_window()  # 浏览器窗口最大化
driver.set_page_load_timeout(30)  # 设置连接超时30

三、常用代码

    # 导入webdriver模块from selenium import webdriverdriver = webdriver.Chrome()  # chrome_options,executable_path常用这两个参数# get 会一直等到页面被完全加载,然后才会执行下一步代码,如果超出了set_page_load_timeout()的设置,则会抛出异常。driver.get("https://baidu.com/")new_window = driver.window_handles[-1]   # 新窗口'-1'代表打开的最后一个窗口,导航栏有多少个窗口根据下标来锁定driver.switch_to.window(new_window)  # 切换到新窗口:driver.switch_to.frame('passport_iframe')  # 根据name或id 定位至 iframedriver.switch_to.default_content()  # 切换出(iframe)至默认,有好多种切换方式找BaiDudriver.find_element_by_xpath('//input[@xx="xxxx"]').send_keys(content)  # 根据xpath语法定位元素输入内容driver.find_element_by_xpath('//div[@xx="xxxx"]').click()  # 根据xpath语法定位元素后并点击driver.find_element_by_xpath('//div[@xx="xxxx"]').text  # 根据xpath语法定位后获取元素的文本信息driver.get_cookie('name')  #根据name取出对应字典类型的对象driver.get_cookies()  # 返回一个列表,包含多个字典类型的对象# 添加Cookie部分参数介绍:name=cookie的名称,value=cookie对应的值,domain=服务器域名,expiry=Cookie有效终止日期driver.add_cookie({'name' : 'xxx', 'value' : 'xxx'})  # 添加cookiedriver.delete_cookie('name')  # 删除指定部分的Cookiedriver.delete_all_cookies()  # 删除所有Cookiejs="var q=document.documentElement.scrollTop=10000"  # 滚动到最下面js="var q=document.documentElement.scrollTop=0"  # 滚动到最上面driver.execute_script(js)  # 执行JS代码,更多自行BaiDu driver.quit()  # 退出浏览器

四、selenium的异常处理

# 导入exceptions模块
from selenium.common import exceptions
try:# 执行代码
except exceptions.TimeoutException:print("xxxx - 请求加载超时异常!\n", end='')
except exceptions.NoSuchElementException:print("xxxx - 网页元素定位异常!\n", end='')
except exceptions.NoSuchWindowException:print("xxxx - 目标窗口切换异常!\n", end='')
except exceptions.WebDriverException:print("xxxx - 浏览器对象各种异常!\n", end='')
except Exception:print("xxxx - 以上未捕捉到的异常!\n", end='')

selenium 更多异常参考:https://blog.csdn.net/cunhui1209/article/details/112544287


总结

例如:以上就是今天要记录的内容,本文仅仅简单介绍了selenium的使用,selenium 提供了大量能使我们捷地实现自动化测试的函数和方法,后续会在本文的基础上记录新的常用操作。
Google官方下载地址:https://www.google.cn/chrome/
Google驱动下载地址:https://npm.taobao.org/mirrors/chromedriver/
驱动配置请参考:https://blog.csdn.net/flyskymood/article/details/123203105

Python selenium webdriver 基本使用相关推荐

  1. Python Selenium Webdriver常用方法总结

    Python Selenium Webdriver常用方法总结 常用方法函数 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() 最大化窗口: m ...

  2. Python Selenium.WebDriver 最强详解页面加载策略

    Python Selenium.WebDriver 网页加载策略『详细』 文章目录 Python Selenium.WebDriver 网页加载策略『详细』 一.网页加载策略

  3. python+selenium+webdriver 截取全页面长图

    有的时候我们要截取整个页面,而不是当前的屏幕. python+selenium+webdriver 截取全页面长图: from selenium import webdriver import tim ...

  4. Python + Selenium WebDriver

    Python + Selenium WebDriver 一.搭建环境步骤 1.安装 python3.x (windows xp 不支持 python3.5+) 2.设置环境变量 path(安装时候也可 ...

  5. Python+Selenium.webdriver实现WEB端UI自动化测试(实例脚本)

    本篇记录基于Python+Selenium.webdriver实现WEB端UI自动化测试,其中测试用例使用excel维护.为了在实际项目种的扩展应用,建议学习webdriver的元素定位方法,欢迎在评 ...

  6. Python Selenium.WebDriver 判断元素是否存在

    Python Selenium.WebDriver 判断元素是否存在 文章目录 Python Selenium.WebDriver 判断元素是否存在 一.判断元素是否存在 二.异常捕获 三.多元素捕获 ...

  7. Python Selenium.WebDriver清除输入框再输入『详解』

    Python Selenium.WebDriver 清除输入框再输入『详解』 文章目录 Python Selenium.WebDriver 清除输入框再输入『详解』 一.如何清除输入框中的默认内容 二 ...

  8. Python Selenium.WebDriver 对Cookies的处理及应用『模拟登录』

    Python Selenium.WebDriver 对Cookies的处理及用途『模拟登录』 文章目录 Python Selenium.WebDriver 对Cookies的处理及用途『模拟登录』 一 ...

  9. python中webdriver_Linux上部署python+selenium+webdriver常见问题解决方案

    折腾了几天的WechatScraper终于部署到Linux服务器上能生产使用了 用篇文章来记录下部署过程中遇到的各种bug和坑. 1. 运行问题 webdriver在有GUI界面的系统上运行是只需要下 ...

  10. js下拉 selenium_如何使用Python / Selenium webdriver处理Angularjs / Javascript下拉列表?

    我想在Chromium浏览器上使用 Python和Selenium webdriver自动执行一些浏览器任务.我的python脚本已经能够登录,导航到子页面/做一些点击,并在表单中插入一些东西. 我的 ...

最新文章

  1. php 过滤危险字符,php过滤特殊危险字符的总结
  2. jar包打补丁 jar -uf_maven项目引入本地jar包的方法
  3. 区块链随想:共识不等于信用
  4. 《Android开发从零开始》——25.数据存储(4)
  5. 前端学习(3295):react生命周期
  6. C/C++ 指针详解
  7. 安装虚拟环境virtualenv 适用于windows操作系统
  8. jQuery中append()、prepend()与after()、before()的区别
  9. Spring MVC —— form表单post提交出现乱码
  10. Unity Physics.Raycast踩坑
  11. 用 Graphviz+pvtrace 可视化函数调用
  12. 对象行为型 - 模版方法模式
  13. WebLogic下载地址 各版本
  14. Ambari安装和汉化(转)
  15. 苹果系统备份文件服务器地址,苹果备份文件在哪里?苹果怎样恢复备份
  16. Koo叔说Shader-Unity中的Shader
  17. xamarin.forms之 button图片位置的设置
  18. 对i++,i--,++i,--i深刻认识以及printf()函数打印的过程
  19. 数据传输性能与安全不能兼顾?Rambus安全方案“动静”两相宜
  20. 字节跳动2018校招前端面试题

热门文章

  1. Python 递归函数
  2. 《软件工程》第3章敏捷软件开发
  3. @财务人,全电发票的这些问题你一定遇到过,看百望云如何神助攻!
  4. 电脑鼠标失灵,一直单向移动
  5. 华为游戏网络稳定服务器,华为云C6s荣获年度领先游戏云服务器奖
  6. 【题目精刷】2022泰凌微-数字芯片
  7. XML和Html的关系
  8. 在vue中如何高性能渲染十万条数据(虚拟列表)并且增加个搜索框可以搜索到这些数据
  9. js trim() 去掉字符串首尾空格
  10. Poker UI 2 美工分类