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

目录
相关文章
|
5天前
|
JSON API 数据格式
详细介绍下PYTHON API的用法
详细介绍下PYTHON API的用法
|
12天前
|
Python
【Python操作基础】——while语句用法和pass语句
【Python操作基础】——while语句用法和pass语句
|
12天前
|
Python
【Python操作基础】——if语句用法
【Python操作基础】——if语句用法
|
7天前
|
机器学习/深度学习 Python
关于python字符串format的一些花式用法_format带加号
关于python字符串format的一些花式用法_format带加号
|
7天前
|
Web App开发 负载均衡 前端开发
Python网络数据抓取(7):Selenium 模拟
Python网络数据抓取(7):Selenium 模拟
29 5
|
10天前
|
机器学习/深度学习 Java 数据挖掘
selenium的配置与基本使用(1),2024年最新网易Python面试必问
selenium的配置与基本使用(1),2024年最新网易Python面试必问
|
10天前
|
Web App开发 Ubuntu Linux
Linux无图形界面环境使用Python+Selenium实践
【5月更文挑战第1天】Linux无图形界面环境使用Python+Selenium实践
58 2
|
12天前
|
前端开发 Java 测试技术
selenium+python自动化测试--登录
selenium+python自动化测试--登录
17 2
|
12天前
|
Python
【Python操作基础】——for语句用法
【Python操作基础】——for语句用法
|
12天前
|
数据采集 NoSQL 中间件
python-scrapy框架(四)settings.py文件的用法详解实例
python-scrapy框架(四)settings.py文件的用法详解实例
13 0