Python3.6+Selenium自动化

本文详细介绍了如何使用Python3.6配合Selenium进行自动化测试,包括安装配置、运行流程、准备工作和基本使用方法。讲解了定位元素的八种方式、driver常用方法、元素操作以及解决常见问题的策略。还提到了页面加载策略和文件上传的特殊处理。
摘要由CSDN通过智能技术生成

一、安装与配置

1、安装Python3.6。

2、安装 pip install selenium。

2、安装对应浏览器版本的ChromeDriver驱动。可以将chromedriver.exe放到我们的项目目录中。

二、运行流程

三、准备工作

1、为了验证各种功能、情况,需要自己写一个HTML页面用于调试,HTML代码可在此链接https://blog.csdn.net/l15767016983/article/details/122998171找到。

driver.get(net_url)获取一个localhost地址需要在pycharm设置勾选一下“允许未签名的请求”。

 四、简单使用

1、启动浏览器

from selenium import webdriver

if __name__ == '__main__':
    option = webdriver.ChromeOptions()
    # option.add_argument("--headless")#无界面运行
    option.add_argument("--start-maximized")#最大化运行
    driver = webdriver.Chrome(executable_path="chromedriver", options=option)
    net_url = 'http://localhost:63342/PycharmProjects/html_test/html_t.html?_ijt=7q5u4fs2ir2t0p9agurlv4hhht'
    driver.get(net_url)

2、常用的启动项

启动参数     作用
window-size=长,宽 设置浏览器分辨率
headless     无界面运行
start-maximized  最大化运行

更多的详细参数解释: List of Chromium Command Line Switches « Peter Beverloo

3、selenium 定位元素一共有八种方法。需要导入from selenium.webdriver.common.by import By

(1)find_element(By.ID, "div_id")#通过元素ID找元素,ID唯一。

div_id=driver.find_element(By.ID, "div_id")#通过ID找元素
print(div_id)

(2)find_elements(By.CLASS_NAME, "div_class")  # 通过CLASS_NAME找元素,不唯一。

    div_class=driver.find_elements(By.CLASS_NAME, "div_class")  # 通过CLASS_NAME找元素,CLASS_NAME不唯一
    print(div_class)

(3)find_elements(By.CSS_SELECTOR, "div[title*=div]")# 通过CSS_SELECTOR找元素,快速语法简洁,功能强大,但不唯一。

    # div_class=driver.find_element(By.CSS_SELECTOR, ".div_class")  #选中class="div_class"的元素
    # div_id=driver.find_element(By.CSS_SELECTOR, "#div_id")  #选中id="div_id"的元素
    # all=driver.find_elements(By.CSS_SELECTOR, "*")  #选中所有元素
    # p=driver.find_elements(By.CSS_SELECTOR, "p")  #选中所有p标签
    # div_p=driver.find_elements(By.CSS_SELECTOR, "div,p")  #选中所有div和p标签
    # div_p=driver.find_elements(By.CSS_SELECTOR, "div p")  #选中所有div里面的p标签
    # div_p=driver.find_elements(By.CSS_SELECTOR, "div>p")  #选中父元素为div的所有p标签
    # target=driver.find_elements(By.CSS_SELECTOR, "[target]")  #选中带有target属性的所有标签
    # target=driver.find_elements(By.CSS_SELECTOR, "[target=_blank]")  #选中带有属性target=_blank的所有标签
    # div_title=driver.find_elements(By.CSS_SELECTOR, "[title^=div]")  #选中带有属性title以div开头的所有标签
    # div_title=driver.find_elements(By.CSS_SELECTOR, "[title$=title]")  #选中带有属性title以title结尾的所有标签
    # div_title=driver.find_elements(By.CSS_SELECTOR, "div[title^=div]")  #选中带有属性title以div开头的所有div标签
    div_title=driver.find_elements(By.CSS_SELECTOR, "div[title*=div]")  #选中带有属性title包含div的所有div标签
    print(div_title,len(div_title))

(4)find_elements(By.LINK_TEXT, "a链接标签")  # 通过LINK_TEXT找元素,不

Python 是一门简单易学且功能强大的编程语言。它拥有高效的高级数据结构,并且能够用简单而又高效的 方式进行面向对象编程。Python 优雅的语法和动态类型,再结合它的解释性,使其在大多数平台的许多领 域成为编写脚本或开发应用程序的理想语言。 你可以自由地从 Python 官方点: http://www.python.org,以源代码或二进制形式获取 Python 解释器及其标 准扩展库,并可以自由的分发。此站点同时也提供了大量的第三方 Python 模块、程序和工具,及其附加文 档。 你可以很容易的使用 C 或 C++(其他可以通过 C 调用的语言)为 Python 解释器扩展新函数和数据类型。 Python 还可以被用作定制应用程序的一门扩展语言。 本手册非正式的向读者介绍了 Python 语言及其体系相关的基本知识与概念。在学习实践中结合使用 Python 解释器是很有帮助的,不过所有的例子都是完整的,所以本手册亦可离线阅读。 如果需要了解相关标准库或对象的详细介绍,请查阅 Python 参考文档 。Python 参考手册 提供了更多语言 相关的正式说明。如果想要使用 C 或 C++ 编写扩展,请查阅 Python 解释器扩展和集成章节 和 C API 参考 手册 。当然也可阅读一些深入介绍 Python 知识的图书。 本手册不会尝试涵盖 Python 的全部知识和每个特性,甚至不会涵盖所有常用的特性。相反地,它介绍了 Python 中许多最引人瞩目的特性,并且会给你一个关于语言特色和风格的认识。读完之后,你将能够阅读 和编写 Python 模块或程序,并为以后使用 Python 参考手册 继续学习诸多 Python 模块库做好准备。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值