本文实例讲述了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程序设计有所帮助。
Selenium,元素操作
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。