Python Selenium基本用法

简介: Python Selenium基本用法

Selenium 作为一款 Web 自动化测试框架,提供了诸多操作浏览器的方法,本节对其中的常用方法做详细介绍。

定位节点

Selenium 提供了 8 种定位单个节点的方法,如下所示:

image.png

假设下面代码某个页面的代码片段,如下所示:

image.png

下面使用表格中提供的方法定位 input 输出框。如下所示:

image.png

通过 a 标签内的文本内容定位节点,如下所示: image.png

示例如下:

image.png

如果您想定位一组元素,方法如下所示:

image.png


定位一组元素的方法与定位单个元素类似,唯一的区别就是 element 后面多了一个 s(表示复数),因此上述方法的返回值是一个列表,您可以使用 for 循环拿到所有的元素节点。

控制浏览器

Selenium 可以操控浏览器的窗口大小、刷新页面,以及控制浏览器的前进、后退等

1) 设置浏览器窗口大小、位置

image.png

2) 控制网页前进、后退、刷新页面

image.png

WebDriver常用方法

上文中介绍了如何定位元素,以及如何设置浏览的大小、位置。 定位元素节点只是第一步, 定位之后还需要对这个元素进行操作, 比如单击按钮,或者在输入框输入文本 , 下面介绍 WebDriver 中的最常用方法:

image.png

示例如下:

image.png


除了上述方法外, WebDriver 还有一些常用属性,如下所示:

image.png

from selenium import webdriver driver = webdriver.Chrome()

 

获取HTML结构源码

driver.page_source #在源码中查找指定的字符串 driver.page_source.find(‘字符串’)

 

返回百度页面底部备案信息

text = driver.find_element_by_id(“cp”).text print(text)

 

获取输入框的尺寸

size = driver.find_element_by_id(‘kw’).size print(size)

image.png

{‘width’: 500, ‘height’: 22}

image.png

from selenium.webdriver.common.action_chains import ActionChains

image.png

from selenium import webdriver #导入 ActionChains 类 from selenium.webdriver.common.action_chains import ActionChains

 

driver = webdriver.Chrome() driver.get(“c.cainiao.net”)

 

通过xpath表达式定位到要悬停的元素

above = driver.find_element_by_xpath(‘//ul[@id=“ad-link-top”]/li[1]’)

 

对定位到的元素执行鼠标悬停操作

ActionChains(driver).move_to_element(above).perform()

image.png

from selenium.webdriver.common.keys import Keys

 

输入框输入内容

driver.find_element_by_id(“kw”).send_keys(“百度中文网H”)

 

删除多输入的一个H

driver.find_element_by_id(“kw”).send_keys(Keys.BACK_SPACE) #单击“百度”一下查找 driver.find_element_by_id(“su”).click() time.sleep(3) driver.quit()

image.png

输入空格键 + “Python教程”

driver.find_element_by_id(“kw”).send_keys(Keys.SPACE) driver.find_element_by_id(“kw”).send_keys(“Python教程”)

 

ctrl+a 全选输入框内容

driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL, ‘a’)

 

ctrl+x 剪切输入框内容

driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL, ‘x’)

 

ctrl+v 粘贴内容到输入框

driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL, ‘v’)

 

使用回车键来代替单击操作click

driver.find_element_by_id(“su”).send_keys(Keys.ENTER)

 

执行JS脚本

WebDriver 提供了 execute_script() 方法来执行 JavaScript 代码,比如控制浏览器的滚动条。示例如下:

image.png

目录
相关文章
|
1月前
|
Python
python基本用法
【9月更文挑战第5天】python基本用法
38 7
|
7天前
|
Python
Python中正则表达式(re模块)用法详解
Python中正则表达式(re模块)用法详解
14 2
|
14天前
|
Web App开发 测试技术 持续交付
自动化测试的利器:Selenium与Python的完美结合
【9月更文挑战第21天】在软件开发的世界里,测试是确保产品质量的关键步骤。随着敏捷开发和持续集成的流行,自动化测试工具变得尤为重要。本文将介绍如何使用Selenium和Python进行高效的自动化测试,不仅提供代码示例,还深入探讨如何设计测试用例、选择正确的测试框架、以及如何整合到CI/CD流程中。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用的技巧。
25 3
|
21天前
|
人工智能 数据挖掘 开发者
Python用法
Python用法
24 10
|
7天前
|
Python
Python变量用法——单下划线变量名_ 原创
Python变量用法——单下划线变量名_ 原创
23 0
|
7天前
|
Python
Python变量用法——变量解包
Python变量用法——变量解包
18 0
|
19天前
|
数据处理 开发者 Python
探索Python中的列表推导式在Python编程中,列表推导式是一种简洁而高效的方法,用于从现有的列表创建新列表。本文将深入探讨列表推导式的用法、优势以及一些实际应用示例。
列表推导式是Python提供的一种强大工具,它允许开发者以更简洁的语法快速生成列表。通过结合循环和条件语句,列表推导式能够简化代码结构,提高开发效率。本文详细介绍了列表推导式的基本用法,并通过实例展示了其在数据处理、转换和过滤中的广泛应用。
17 0
|
22天前
|
敏捷开发 测试技术 持续交付
自动化测试之美:如何用Selenium和Python打造高效测试脚本
【9月更文挑战第13天】在软件开发的海洋中,自动化测试是那抹不可或缺的亮色。它不仅提升了测试效率,还保障了产品质量。本文将带你领略使用Selenium和Python构建自动化测试脚本的魅力所在,从环境的搭建到脚本的编写,再到问题的排查,每一步都是对软件质量把控的深刻理解和实践。让我们开始这段探索之旅,解锁自动化测试的秘密吧!
15 0
|
2月前
|
Web App开发 测试技术 持续交付
探索自动化测试:以Selenium和Python为例
【8月更文挑战第31天】自动化测试在现代软件开发中扮演着不可或缺的角色。本文将通过一个简化的示例,展示如何使用Selenium和Python进行Web应用的自动化测试。我们将从安装必要的工具开始,逐步构建一个简单的测试脚本,并执行它来验证其功能。通过这个过程,我们旨在揭示自动化测试的价值,并激励读者深入探索这一领域。
|
2月前
|
Web App开发 安全 测试技术
自动化测试中的Python魔法:使用Selenium和pytest框架
【8月更文挑战第31天】 在软件开发的海洋中,自动化测试是确保航行安全的灯塔。本文将带你探索如何利用Python语言结合Selenium和pytest框架,搭建一套高效的自动化测试体系。我们将从基础设置讲起,逐步深入到编写测试用例,最后通过一个实战案例来展示如何在实际项目中运用这些工具。文章旨在为读者提供一套清晰的自动化测试解决方案,让你的开发之旅更加顺畅。
下一篇
无影云桌面