前言:
让你掌握自动化测试暂时脱离手工点点点,本章节让你掌握 Selenium 如何定位、判定、操作元素(实现业务逻辑)

一. 前期准备

  1、准备以下工具

1、Selenium下载地址:立即下载
2、通过 pip 命令下载:
pip install selenium

3、Firefox 驱动下载地址:立即下载

把下载的Geckodriver放入Python安装路径下的Scripts文件夹内
\python36\Scripts

4、目标测试地址:

https://www.cnblogs.com
https://www.baidu.com

备注:以上地址仅作为演示使用

二. 测试开始

  1、Firefox 启动:

from selenium import webdriver
driver = webdriver.Firefox()

# 即可启动 Firefox 浏览器

  2、打开网址:

from selenium import webdriver
driver = webdriver.Firefox()
driver.get('https://www.baidu.com/')
# 打开百度首页

  3、元素定位:

'''
Selenium 作为一款自动化测试工具包,提供了多种多样的元素定位方式,下边我们讲几种定位的方式

通过元素 ID 来定位
通过元素 Class 来定位
通过元素 name 来定位
通过元素 xpath 来定位
'''
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('https://www.baidu.com/')
driver.find_element_by_id("kw") # 这是通过元素 ID 来定位
driver.find_element_by_class_name("s_ipt") # 这是通过元素 Class 来定位
driver.find_element_by_name("wd") # 这是通过元素 name 来定位
driver.find_element_by_xpath("//*[@id="kw"]") # 这是通过元素 xpath 来定位


输出:
<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d053531b-e9a8-4729-8c0b-91aae35a7203", element="5616f958-9fa8-4d09-a6ce-243e94acd1ea")>

# 这就是因为他们定位的方式不同,但对象是一样的,也就是为什么打印出的结果都是 ...243e94acd1ea]

打印定位元素明细:

>>> print driver.find_element_by_id("kw")
<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d053531b-e9a8-4729-8c0b-91aae35a7203", element="5616f958-9fa8-4d09-a6ce-243e94acd1ea")>

>>> driver.find_element_by_class_name("s_ipt")
<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d053531b-e9a8-4729-8c0b-91aae35a7203", element="5616f958-9fa8-4d09-a6ce-243e94acd1ea")>

>>> driver.find_element_by_name("wd")
<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d053531b-e9a8-4729-8c0b-91aae35a7203", element="5616f958-9fa8-4d09-a6ce-243e94acd1ea")>

>>> driver.find_element_by_xpath('//*[@>)
<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d053531b-e9a8-4729-8c0b-91aae35a7203", element="5616f958-9fa8-4d09-a6ce-243e94acd1ea")>

<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d053531b-e9a8-4729-8c0b-91aae35a7203", element="5616f958-9fa8-4d09-a6ce-243e94acd1ea")>
详细代码

相关文章:

  • 2021-07-19
  • 2021-06-12
  • 2021-12-13
  • 2021-04-23
  • 2021-05-18
  • 2021-08-06
  • 2022-01-01
  • 2021-10-24
猜你喜欢
  • 2021-07-27
  • 2021-05-04
  • 2022-02-08
  • 2022-02-26
  • 2021-09-25
  • 2022-12-23
  • 2021-04-08
相关资源
相似解决方案