Python selenium webdriver 基本使用

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

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 webdriver
    driver = 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 定位至 iframe
    driver.switch_to.default_content()  # 切换出(iframe)至默认,有好多种切换方式找BaiDu
    driver.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'})  # 添加cookie
    driver.delete_cookie('name')  # 删除指定部分的Cookie
    driver.delete_all_cookies()  # 删除所有Cookie
    js="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

目录
相关文章
|
25天前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
86 5
|
5天前
|
数据采集 Web App开发 前端开发
Python爬虫进阶:Selenium在动态网页抓取中的实战
【10月更文挑战第26天】动态网页抓取是网络爬虫的难点,因为数据通常通过JavaScript异步加载。Selenium通过模拟浏览器行为,可以加载和执行JavaScript,从而获取动态网页的完整内容。本文通过实战案例,介绍如何使用Selenium在Python中抓取动态网页。首先安装Selenium库和浏览器驱动,然后通过示例代码展示如何抓取英国国家美术馆的图片信息。
24 6
|
11天前
|
Web App开发 Java
使用java操作浏览器的工具selenium-java和webdriver下载地址
【10月更文挑战第12天】Selenium-java依赖包用于自动化Web测试,版本为3.141.59。ChromeDriver和EdgeDriver分别用于控制Chrome和Edge浏览器,需确保版本与浏览器匹配。示例代码展示了如何使用Selenium-java模拟登录CSDN,包括设置驱动路径、添加Cookies和获取页面源码。
|
24天前
|
数据采集 Web App开发 数据可视化
Python爬虫教程:Selenium可视化爬虫的快速入门
Python爬虫教程:Selenium可视化爬虫的快速入门
|
1月前
|
测试技术 数据安全/隐私保护 开发者
自动化测试的奥秘:如何用Selenium和Python提升软件质量
【9月更文挑战第35天】在软件开发的海洋中,自动化测试是那艘能引领我们穿越波涛的帆船。本文将揭开自动化测试的神秘面纱,以Selenium和Python为工具,展示如何构建一个简单而强大的自动化测试框架。我们将从基础出发,逐步深入到高级应用,让读者能够理解并实现自动化测试脚本,从而提升软件的质量与可靠性。
|
2月前
|
数据采集 Web App开发 测试技术
使用Selenium与WebDriver实现跨浏览器自动化数据抓取
在网络爬虫领域,Selenium与WebDriver是实现跨浏览器自动化数据抓取的利器。本文详细介绍了如何利用Selenium和WebDriver结合代理IP技术提升数据抓取的稳定性和效率。通过设置user-agent和cookie来模拟真实用户行为,避免被网站检测和阻止。文章提供了具体的代码示例,展示了如何配置代理IP、设置user-agent和cookie,并实现了跨浏览器的数据抓取。合理的参数配置能有效减少爬虫被封禁的风险,提高数据抓取效率。
242 6
使用Selenium与WebDriver实现跨浏览器自动化数据抓取
|
2月前
|
Web App开发 JavaScript Java
自动化测试的利剑:Selenium WebDriver入门与实践
【9月更文挑战第21天】在软件开发的海洋中,自动化测试犹如一艘船,帮助开发者们快速航行至质量保证的彼岸。本文将作为你的罗盘,指引你了解和掌握Selenium WebDriver这一强大的自动化测试工具。通过深入浅出的方式,我们将探索Selenium WebDriver的基本概念、安装过程以及编写简单测试脚本的方法。无论你是刚接触自动化测试的新手,还是希望提升测试技能的开发者,这篇文章都将为你提供有价值的指导。
|
2月前
|
Web App开发 测试技术 持续交付
自动化测试的利器:Selenium与Python的完美结合
【9月更文挑战第21天】在软件开发的世界里,测试是确保产品质量的关键步骤。随着敏捷开发和持续集成的流行,自动化测试工具变得尤为重要。本文将介绍如何使用Selenium和Python进行高效的自动化测试,不仅提供代码示例,还深入探讨如何设计测试用例、选择正确的测试框架、以及如何整合到CI/CD流程中。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用的技巧。
45 3
|
2月前
|
Web App开发 Java 测试技术
自动化测试的利器:Selenium WebDriver入门与实践
【9月更文挑战第8天】在软件开发的海洋中,测试是确保我们不会溺水的那根救生索。Selenium WebDriver,作为自动化测试的明星工具,让这根救生索更加结实可靠。本文将带你快速上手Selenium WebDriver,从基础设置到实际操作,再到实战演练,让你的开发之旅更加平稳顺畅。
|
2月前
|
敏捷开发 测试技术 持续交付
自动化测试之美:如何用Selenium和Python打造高效测试脚本
【9月更文挑战第13天】在软件开发的海洋中,自动化测试是那抹不可或缺的亮色。它不仅提升了测试效率,还保障了产品质量。本文将带你领略使用Selenium和Python构建自动化测试脚本的魅力所在,从环境的搭建到脚本的编写,再到问题的排查,每一步都是对软件质量把控的深刻理解和实践。让我们开始这段探索之旅,解锁自动化测试的秘密吧!
53 0