Selenium 元素方法
Selenium是一个开源的自动化测试工具,与其他编程脚本例如Python、Java、JavaScript和Pearl一起用于测试Web应用程序。它被开发人员广泛用于自动化测试。
Selenium的元素方法
1. send_keys() −
用于设置包括编辑框、文本区域、表单内字段和修饰键在内的输入文本框。它继承了keys类的属性。
返回类型−空
2. is_selected() −
检查元素是否被用户选中
返回类型−布尔值(True或False)
3. is_displayed() −
检查元素是否对用户可见
返回类型−布尔值(True或False)
4. get_property() −
用于获取元素的属性
返回类型−属性值
5. is_enabled() −
用于检查元素是否可用
返回类型−布尔值(True或False)
6. click() −
用于点击链接或按钮。属性在按钮本身上提及
返回类型−如果存在URL,则将你重定向到与按钮元素锚定的路径。否则,抛出InvalidElementException异常。
7. text() −
使用XPath扫描器通过部分匹配跟踪给定的输入文本的出现
返回类型−返回包含输入文本的整行或部分的文本行
8. location() −
location方法用于检索可访问搜索字段的位置
返回类型−以字典形式表示元素的坐标或尺寸
9. screenshot() −
screenshot方法允许用户保存当前元素的截图
返回类型−如果截图成功,则返回True,如果存在IO错误,则返回False
示例1
以下示例演示了使用属性并使用get()方法导航到tutorialspoint网站。
步骤
- 从selenium导入所需的webdriver模块
-
为Windows用户创建一个Chrome()的webdriver对象,对于Mac用户创建一个Safari()的webdriver对象。
-
获取要打开的URL并检索数据。
-
对于高级用途,可选择使用上述Selenium方法。
-
关闭webdriver对象。
# import webdriver
from selenium import webdriver
# create webdriver object - Windows User
driver = webdriver.Chrome()
#create webdriver object - Mac Users
#Change the settings in the Safari Develop menu to Allow Remote Automation
driver = webdriver.Safari()
driver.get("https://www.tutorialspoint.com/")
driver.close()
输出
在Mac OS上使用时,请确保在开发菜单中将设置更改为“允许远程自动化”。
示例2
以下示例说明了如何使用screenshot()并对当前元素进行截图。
步骤
- 从selenium中导入所需的webdriver模块。
-
为Windows用户创建一个Chrome()的webdriver对象,为Mac用户创建一个Safari()的webdriver对象。
-
获取要打开的URL并检索数据。
-
使用element.screenshot()并在括号内指定要存储图像的路径。
-
关闭webdriver对象。
# import webdriver
from selenium import webdriver
# create webdriver object - Windows User
driver = webdriver.Chrome()
#create webdriver object - Mac Users
#Change the settings in the Safari Develop menu to Allow Remote Automation
driver = webdriver.Safari()
driver.get("https://www.tutorialspoint.com/")
element = driver.find_element_by_class_name("header--navbar")
# click screenshot
element.screenshot('C:\Users\Swetha\Pictures\Screenshots\header.png')
driver.close()
输出
您可以在路径中提到的文件夹中查看图像。
结论
它在用户预定义的测试结果的自动检测中具有最大的应用。简单地说,它可以称为使用Selenium webdriver进行的自动化测试。创建此模块的理念是在短时间内对应用程序的用户界面进行测试,以满足客户提出的约束。