Selenium处理常见web控件-table
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium处理常见web控件-table相关的知识,希望对你有一定的参考价值。
参考技术A Selenium没有提供table的处理方法,只有根据需要自己编写脚本。主要思路是通过xpath下标和css selector层级的方式,通过循环实现根据行列取数据,根据数据判断所在的行列。一个简单的table示例:
大致是这样一个表格:
现在表格可能会加多种样式等情况,需要根据实际测试的页面表格情况灵活调整。
再封装一下,封装成一个类:
Python+selenium+eclipse执行web自动化控件处理
元素定位后可根据页面元素的类型执行相关操作,一下使用element指代已定位的页面元素
1、输入框
包括文本输入框和密码输入框,可用操作有clear()和send_keys(),具体用法如下
element.clear() #清空输入框当前内容
element.send_keys("string") #项输入框发送字符串
2、单选框及复选框
可用操作有is_select()和click(),具体用法如下
element.is_selected() #判断当前选择控件是否被选中
element.click() #单击选择当前控件
3、按钮
可用操作有get_attribute()和click(),具体用法如下
element.get_attribute("string") #根据输入的字符串查找相关属性
element.click() #单击插件
4、列表
列表控件需要导入Select模块,代码如下
from selenium.webdriver.support.select import Select
具体操作如下
Select(element).select_by_value("value") #根据value值选择选项,具体value值为"value",根据需要自行输入
Select(element).select_by_index("index") #根据index值选择选项,具体index值为"index",根据需要自行输入
Select(element).select_by_visible_text("text") #根据visible_text选择选项,具体visible_text的值为"text",根据需要自行输入
5、弹出窗口
1)、如果弹出窗口为单选窗口,可以通过ActionChains控件发送键盘事件,完成操作。具体操作如下
from selenium.webdriver.common.action_chains import ActionChains #导入ActionChains模块
browser1=webdriver.Firefox()
browser1.get("www.xxxx.com")
ActionChains(browser1).send_keys(Keys.ENTER).perform() #在browser界面发送ENTER按键
2)、如果弹出窗口为多选框,则需要通过switch_to_frame("framename")操作切换到弹出窗主体,然后再对需要的控件进行相关操作
以上是关于Selenium处理常见web控件-table的主要内容,如果未能解决你的问题,请参考以下文章
Python+selenium+eclipse执行web自动化控件处理
Python+selenium+eclipse执行web自动化特殊控件--进度条