Selenium元素的常用操作方法分析
作者:喷跑的豆子
这篇文章主要介绍了Selenium元素的常用操作方法,结合实例形式分析Selenium在获取元素之后针对点击、输入、提交、属性获取等常见操作相关实现技巧,需要的朋友可以参考下
本文实例讲述了Selenium元素的常用操作方法。分享给大家供大家参考,具体如下:
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。
在前面一篇《Selenium定位元素操作》中已经介绍了如何对元素进行定位。定位只是第一步,定位之后需要对这个元素进行操作,或单击(按钮)或输入(文本框),下面就记录一下Selenium中元素的最常用的几个方法:
点击和输入
clear()
:清除文本send_keys(value)
:按键模拟输入click()
:单击元素
from selenium.webdriver import Chrome() driver = Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe') driver.get('https://www.baidu.com/') driver.find_element_by_id('kw').clear() driver.find_element_by_id('kw').send_keys('python') driver.find_element_by_id('su').click()
提交
submit()
submit()
方法用于提交表单,例如,在输入框输入关键字之后的回车操作,就可以通过该方法模拟:
from selenium.webdriver import Chrome driver = Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe') driver.get('https://www.baidu.com/') element = driver.find_element_by_id('kw') element.send_keys('python') element.submit()
有时候submit()
可以和click()
方法互换来使用,submit()
同样可以提交一个按钮,但submit()
的应用范围远远没有click()
广
其他常用方法
size
:返回元素的尺寸text
:返回元素的内容get_attribute(name)
:返回元素属性的值is_displayed()
:设置该元素是否用户可见
from selenium.webdriver import Chrome() driver = Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe') driver.get('https://www.baidu.com/') # 获取元素的尺寸 element = driver.find_element_by_id('su') print(element.size) # {'height': 36, 'width': 100} # 获取元素的内容 element = driver.find_element_by_id('setf') print(element.text) # 把百度设为主页 # 获取元素中value属性的值 element = driver.find_element_by_id('su') print(element.get_attribute('value') # 百度一下 # 获取该元素是否用户可见 element = driver.find_element_by_id('su') print(element.is_displayed()) # True
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python Socket编程技巧总结》、《Python URL操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。