python自动化之selenium

一、环境

1、selenium

安装:pip install selenium==版本号(==后可省略,默认安装最新版本)

查看:pip show selenium

卸载:pip  uninstall selenium             

2、浏览器驱动

以chrome为例:

驱动下载地址(需墙):https://sites.google.com/a/chromium.org/chromedriver/home

http://chromedriver.storage.googleapis.com/index.html(国内可访问)

Windows:解压后将驱动移动至chrome安装目录下和python安装目录下

Mac:解压后直接移动至/usr/local/bin目录下

修改权限:sudo chmod u+x,o+x  /usr/local/bin/chromedriver

检查是否成功:chromedriver --version

3、测试代码

成功打开chrome跳转至百度并关闭浏览器则表示环境安装成功

import time
from selenium import webdriver

# 创建浏览器驱动
driver = webdriver.Chrome()

# 打开web页面
driver.get(r"https://www.baidu.com")

time.sleep(1)

# 关闭驱动
driver.quit()

二、元素定位(chrome可通过F12定位,Firefox可通过firebug定位)

1、id(通过元素的id属性定位,id一般情况下在当前页面中是唯一)

例:driver.find_element_by_id(id)

2、name(通过元素的name属性定位)

例:drivr.find_element_by_name(name)

3、class_name(通过元素的class属性定位)

例:driver.find_element_by_class_name(class)

4、tag_name(通过元素的标签名称定位)

例:driver.find_element_by_tag_name("标签名")

注:如果页面中存在多个相同标签,默认返回第一个标签元素。

5、link_text(定位超链接标签)

例:driver.find_element_by_link_text("超链接中的全部文本")

注:link_text定位元素的内容必须为全部匹配

6、partial_link_text(定位超链接标签)

例:driver.find_element_by_partial_link_text("超链接中的部分文字或者全部文字")

注:可以使用精准或模糊匹配,如果有多个值,默认返回第一个值

7、xpath(基于元素路径定位)

driver.find_element_by_xpath()

绝对路径:以单斜杠开头逐级开始编写,不能跳级。如:/html/body/div/p1/input

相对路径:以双斜杠开头,双斜杠后边跟元素名称,不知元素名称可以使用*代替。如://input或者//*

路径结合属性:在Xpath中,所有的属性必须使用@符号修饰.如://*[@id='id值']

路径结合逻辑://*[@id="id值" and @属性='属性值']

路径结合层级://*[@id='父级id属性值']/input

定位文本值等于XXX的元素://*[text()='XXX']

定位属性包含xxx的元素://*[contains(@属性,'xxx')]

定位属性以xxx开头的元素://*[starts-with(@属性,'xxx')]

8、css定位(通过css选择器工具进行定位)

driver.find_element_by_css_selector()

id选择器                  #id  

class选择器            .class

元素选择器             element   如:input

属性选择器             [属性名=属性值]

层级选择器              p>input 或者 p input  注:>与空格的区别,大于号必须为子元素,空格则不用

9、定位一组元素

driver.find_elements_by_xxx()

注:返回类型为列表

10、元素定位方法底层都是通过driver.find_element(By.xxx, 'value')实现

注:使用By类必须导包from selenium.webdriver.common.by import By

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python自动化测试Selenium是一种基于Python语言的自动化测试工具,它可以模拟用户在浏览器中的操作,实现自动化测试。Selenium可以用于Web应用程序的自动化测试,包括功能测试、回归测试和性能测试等。它具有跨平台、多浏览器支持、易于使用等优点,是Web应用程序自动化测试的首选工具之一。 ### 回答2: Python自动化测试框架Selenium是目前使用最广泛的Python自动化测试框架之一。Python是一种高效且易学的编程语言,同时Selenium是一种基于Web的自动化测试工具和框架,提供了一个用于自动测试Web应用程序的集合。 Selenium利用浏览器的驱动程序来对Web页面进行自动化的UI测试,可以支持多种浏览器,包括Chrome,Firefox,Safari等。Selenium框架提供多种API,可以使用Python编写各种类型的测试脚本,并在多种系统上运行这些脚本。 使用PythonSelenium测试工具,可以实现以下功能: 1.自动化执行web应用程序的测试用例; 2.检查页面元素并进行操作,如单击按钮、输入文本等; 3.自动创建测试报告,以便管理人员可以查看测试结果; 4.在多台机器上并行化运行测试脚本。 Python自动化测试Selenium具有以下优点: 1.易于使用:Selenium提供编写和运行测试脚本的简单和方便的方式,并且Python编程语言容易学习和使用; 2.跨浏览器支持:Selenium可以支持不同类型的浏览器,可以在它们之间进行跨浏览器测试; 3.把测试自动化Python自动化测试Selenium可以测试不同的应用程序和网站,因此测试人员可以更快地测试以确保高质量的代码; 4.增强测试代码:提供了更强的代码重用功能,因此编写脚本变得更加容易,并且有助于提高代码的可读性和可维护性。 总之,Python自动化测试Selenium提供了快速而有效的测试解决方案,可以显著提高测试结果的质量,缩短测试时间,从而让企业在市场上更具竞争力。 ### 回答3: Python自动化测试Selenium是现代软件开发最流行的工具之一。该工具通过模拟用户行为来测试网站或Web应用程序。Selenium可以在多个浏览器和操作系统上运行,因此它是一个非常灵活的工具。Python作为脚本语言,与Selenium的集成效果非常好。Python编写的Selenium测试代码可以更加简单、易读、可维护,自然也更容易推广。 Selenium通过模拟用户的操作方式进行浏览器自动化测试,自动化测试就是通过一条测试脚本来模拟用户的一系列操作,这些操作包括在浏览器窗口中打开Web页面、点击按钮、输入文本等等。Python的简洁易读以及广泛的用途,使Selenium更加容易上手。对于Python开发人员来说,Selenium自动化测试过程中不可或缺的工具。 此外,Python自带的unittest和pytest模块也可以与Selenium集成使用,由此可以编写并执行测试套件。可以轻松地进行单元测试、集成测试和UI测试,并且还可以使用Selenium Grid在多台不同的机器上并行运行测试。 最后但并非最不重要的是,PythonSelenium均是开源的,具有很强的社区支持。可以在GitHub和Stack Overflow发现各种各样的示例代码、文档和解决方案。 总之,Python自动化测试Selenium是非常流行的工具,并且是一种非常灵活的、易于使用的测试框架。Python开发人员无需学习新的语法或API,就可以轻松地开始使用Selenium进行自动化测试,从而确保软件的质量和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值