Python Selenium基本用法

这篇具有很好参考价值的文章主要介绍了Python Selenium基本用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Selenium 作为一款 Web 自动化测试框架,提供了诸多操作浏览器的方法,本节对其中的常用方法做详细介绍。
定位节点
Selenium 提供了 8 种定位单个节点的方法,如下所示:

定位节点方法
方法 说明
find_element_by_id() 通过 id 属性值定位
find_element_by_name() 通过 name 属性值定位
find_element_by_class_name() 通过 class 属性值定位
find_element_by_tag_name() 通过 tag 标签名定位
find_element_by_link_text() 通过标签内文本定位,即精准定位。
find_element_by_partial_link_text() 通过标签内部分文本定位,即模糊定位。
find_element_by_xpath() 通过 xpath 表达式定位
find_element_by_css_selector() 通过 css 选择器定位
假设下面代码某个页面的代码片段,如下所示:

下面使用表格中提供的方法定位 input 输出框。如下所示: #创建browser是浏览器对象 browser = webdriver.Chrome() #访问某个url得到上述代码片段 browser.get('url') #通过id定义输入框 browser.dr.find_element_by_id("kw") #通过class定义 browser.find_element_by_class_name("s_ipt_wr") #通过name定位 browser.find_element_by_name("wd") #通过tag name定位: browser.find_element_by_tag_name("input") #通过xpath定位 browser.find_element_by_xpath("//*[@id='kw']") #通过css选择器定位 browser.find_element_by_css_selector("#kw") 通过 a 标签内的文本内容定位节点,如下所示: C语言中文网 hao123 示例如下: #使用全部文本内容定位链接 browser.find_element_by_link_text("c语言中文网") #使用部分文本内容定位链接 browser.find_element_by_partial_link_text("123") 如果您想定位一组元素,方法如下所示: find_elements_by_id() find_elements_by_name() find_elements_by_class_name() find_elements_by_tag_name() find_elements_by_link_text() find_elements_by_partial_link_text() find_elements_by_xpath() find_elements_by_css_selector() 定位一组元素的方法与定位单个元素类似,唯一的区别就是 element 后面多了一个 s(表示复数),因此上述方法的返回值是一个列表,您可以使用 for 循环拿到所有的元素节点。 控制浏览器 Selenium 可以操控浏览器的窗口大小、刷新页面,以及控制浏览器的前进、后退等 1) 设置浏览器窗口大小、位置 from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.baidu.com") #参数数字为像素点 driver.set_window_size(480, 800) #设置窗口位置 driver.set_window_position(100,200) #同时设置窗口的大小和坐标 driver.set_window_rect(450,300,32,50) #退出浏览器 driver.quit() 2) 控制网页前进、后退、刷新页面 from selenium import webdriver driver = webdriver.Chrome() # 访问C语言中文网首页 first_url= 'http://c.biancheng.net' driver.get(first_url) # 访问c语言教程 second_url='http://c.biancheng.net/c/' driver.get(second_url) # 返回(后退)到c语言中文网首页 driver.back() # 前进到C语言教程页 driver.forward() # 刷新当前页面相当于F5 driver.refresh() # 退出/关闭浏览器 driver.quit() WebDriver常用方法 上文中介绍了如何定位元素,以及如何设置浏览的大小、位置。 定位元素节点只是第一步, 定位之后还需要对这个元素进行操作, 比如单击按钮,或者在输入框输入文本 , 下面介绍 WebDriver 中的最常用方法: # 请求url get(url) # 模拟键盘输入文本 send_keys (value) # 清除已经输入的文本 clear(): # 单击已经定位的元素 click(): # 用于提交表单,比如百度搜索框内输入关键字之后的“回车” 操作 submit(): #返回属性的属性值,返回元素的属性值,可以是id、name、type 或其他任意属性 get_attribute(name) # 返回布尔值,检查元素是否用户可见,比如 display属性为hidden或者none is_displayed() 示例如下: from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https://www.baidu.com") #模拟键盘,输出文本 driver.find_element_by_id("kw").send_keys("C语言中文网") #单击“百度”一下查找 driver.find_element_by_id("su").click() time.sleep(3) #退出浏览器 driver.quit() 除了上述方法外, WebDriver 还有一些常用属性,如下所示: 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) 输出结果: ©2015 Baidu 使用百度前必读 意见反馈 京 ICP 证 030173 号

{‘width’: 500, ‘height’: 22}
Selenium事件处理
Selenium WebDriver 提供了一些事件处理函数(鼠标、键盘等),下面我们对常用的事件函数做简单介绍。

  1. 鼠标事件
    Selenium WebDriver 将关于鼠标的操作方法都封装在 ActionChains 类中,使用时需要引入 ActionChains 类,如下所示:
    from selenium.webdriver.common.action_chains import ActionChains
    该类包含了鼠标操作的常用方法:

鼠标事件
方法 说明
ActionChains(driver) 构造 ActionChains 鼠标对象。
click() 单击
click_and_hold(on_element=None) 单击鼠标左键,不松开
context_click() 右击
double_click() 双击
drag_and_drop() 拖动
move_to_element(above) 执行鼠标悬停操作
context_click() 用于模拟鼠标右键操作, 在调用时需要指定元素定位。
perform() 将所有鼠标操作提交执行。
示例如下:
from selenium import webdriver
#导入 ActionChains 类
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get(“http://c.biancheng.net”)

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

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

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

ActionChains(driver).move_to_element(above).perform()
2) 键盘事件
Selenium WebDriver 的 Keys 模块提供了模拟键盘输入的 send_keys() 方法,除此之外,该模块也提供了操作键盘的其他方法,比如复制、粘贴等等。

在使用之前,首先需要导入 Keys 类,如下所示:
from selenium.webdriver.common.keys import Keys
下面列举了一些常用方法:

键盘操作
方法 说明
send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
send_keys(Keys.SPACE) 空格键(Space)
send_keys(Keys.TAB) 制表键(Tab)
send_keys(Keys.ESCAPE) 回退键(Esc)
send_keys(Keys.ENTER) 回车键(Enter)
send_keys(Keys.CONTROL,‘a’) 全选(Ctrl+A)
send_keys(Keys.CONTROL,‘c’) 复制(Ctrl+C)
send_keys(Keys.CONTROL,‘x’) 剪切(Ctrl+X)
send_keys(Keys.CONTROL,‘v’) 粘贴(Ctrl+V)
send_keys(Keys.F1…Fn) 键盘 F1…Fn
keys.down(value,element=None) 按下键盘上的某个键
keys.up(value,element=None) 松开键盘上的某个键
示例如下:
from selenium import webdriver

引入 Keys 模块

from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get(“http://www.baidu.com”)

输入框输入内容

driver.find_element_by_id(“kw”).send_keys(“C语言中文网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()
其它键盘操作方法,如下所示:
纯文本复制

输入空格键 + “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)Python Selenium基本用法,python,selenium,开发语言文章来源地址https://www.toymoban.com/news/detail-525405.html

到了这里,关于Python Selenium基本用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python】Python 模块用法:selenium 4 版本页面元素定位方法汇总

    目录 一、定位页面元素方法源码说明  (1)Webdriver.common (2)selenium.webdriver.common.by (3)By 二、定位页面元素方法用法汇总 (1)2.0 及以下低版本 selenium :By 定位页面元素方法用法(可忽略) (2)3.0 ~ 3.9 版本 selenium:By 定位页面元素方法用法 (3)4.0 ~ 4.9 版本 selenium:

    2023年04月13日
    浏览(90)
  • Python+Selenium webdriver mange用法-告别手动下载driver

    通常使用selenium时候我们需要自己单独去下载对应各浏览器版本的webdriver,并在后期针对不同操作系统(mac、windows、linux)或者不同浏览器版本都要反复选择对应版本webdriver 为了解决以上问题,webdriver-manage第三方库营运而生,它可以自动帮你识别当前运行环境下系统信息以及

    2024年02月15日
    浏览(50)
  • Python中Selenium的基本使用

    目录 一、Selenium是什么? 二、使用步骤   1.引入库   2.下载浏览器驱动   3.配置浏览器驱动    4.创建WebDriver对象   4.1.options    4.2.service   4.3.desired_capabilities   4.4.executable_path  5.WebDriver的属性  6.元素定位  三.打开百度网页的简单示例  总结 Selenium是一个用于自动化浏览器

    2024年02月08日
    浏览(43)
  • python爬虫教程:selenium常用API用法和浏览器控制

    selenium api selenium 新版本( 4.8.2 )很多函数,包括元素定位、很多 API 方法均发生变化,本文记录以 selenium4.8.2 为准。 webdriver 常用 API 方法 描述 get(String url) 访问目标url地址,打开网页 current_url 获取当前页面url地址 title 获取页面标题 page_source 获取页面源代码 close() 关闭浏览器当

    2024年02月05日
    浏览(55)
  • Python 的 Selenium 库进行元素定位时,XPath的详细用法

    使用 Python 的 Selenium 库进行元素定位时,XPath 是一种常用的定位方式。XPath 是一种在 XML 文档中导航和定位元素的语言,同时也适用于 HTML 文档。下面是 XPath 的详细用法以及一个封装了通过 XPath 定位各种元素的类的示例。 XPath 详细用法: 绝对路径和相对路径 : 绝对路径:

    2024年01月19日
    浏览(56)
  • Python Selenium 的基本使用方法

    Selenium 是一个用于自动化 web 浏览器的工具,它提供了一套用于测试 web 应用程序的工具和库。Selenium 最初是用于测试 web 应用程序的,但它也被广泛用于进行网络数据采集、自动化任务和网页操作等。 Selenium 支持多种编程语言,包括 Python、Java、JavaScript、C# 等,但最为常用的

    2024年04月28日
    浏览(45)
  • 【Python_Selenium学习笔记(一)】Selenium介绍及基本使用方法

    Selenium是一套 Web 网站的程序自动化操作解决方案,广泛应用于自动化测试及爬虫。此篇文章主要介绍 Selenium 的 安装和基本使用流程。 Selenium 框架的安装主要就是安装两样东西: Selenium 客户端库 和 浏览器驱动 。 1.1、Selenium 框架安装 使用 pip 命令安装 pip install selenium ,安装

    2023年04月13日
    浏览(62)
  • Selenium基本用法

    Selenium 提供了 8 种定位单个节点的方法,如下所示: 定位节点方法 方法 说明 find_element_by_id() 通过 id 属性值定位 find_element_by_name() 通过 name 属性值定位 find_element_by_class_name() 通过 class 属性值定位 find_element_by_tag_name() 通过 tag 标签名定位 find_element_by_link_text() 通过标签内文本

    2024年02月09日
    浏览(33)
  • Python爬虫——selenium的安装和基本使用

    1.什么是selenium? selenium是一个用于web应用程序测试的工具 selenium测试直接运行在浏览器中,就像真正的用户在操作一样 支持通过各种driver(FrifoxDriver,ItenrentExploreDriver,OperaDriver,ChromeDriver )驱动 selenium也是支持无界面浏览器操作的 2.为什么使用selenium? 模拟浏览器功能,

    2024年02月13日
    浏览(53)
  • python中selenium库的基本使用详解

    什么是selenium selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE)

    2024年01月21日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包