Python Selenium 部分API详细使用方法(二)
2017-11-08 17:26
561 查看
摘要: Python Selenium 部分API详细使用方法(二)
**************************************************************************************************
以及本节中需要介绍的常对象操作。
webdriver 中比较常用的操作元素的方法有下面几个:
clear 清除元素的内容,如果可以的话
send_keys 在元素上模拟按键输入
click 单击元素
submit 提交表单
例如:
clear() 用于清除输入框的默认内容
send_keys("xx") 用于在一个输入框里输入xx 内容
click() 用于单击一个按钮、连接等
submit() 提交表单
1、WebElement 接口常用方法
WebElement 接口除了我们前面介绍的方法外,它还包含了别一些有用的方法。下面,我们例举例几
个比较有用的方法。
size #返回元素的尺寸
text #获取元素的文本
get_attribute(name) #获得属性值
is_displayed() #检查该元素是否用户可见
例如:
**************************************************************************************************
ActionChains 类鼠标操作的常用方法:
context_click() 右击
double_click() 双击
drag_and_drop() 拖动
move_to_element() 鼠标悬停在一个元素上
click_and_hold() 按下鼠标左键在一个元素上
1、右击操作
ActionChains 用于生成用户的行为;所有的行为都存储在 actionchains 对象中。通过 perform()执行存储的行为。
2、鼠标双击操作
3、鼠标拖放操作
drag_and_drop(source, target)
在源元素上按下鼠标左键,然后移动到目标元素上释放。
source: 鼠标按下的源元素。
target: 鼠标释放的目标元素。
4、鼠标移动上元素上
5、按下鼠标左键
**************************************************************************************************
下面经常使用到的键盘操作:
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)
**************************************************************************************************
**************************************************************************************************
三、操作测试对象
一般来说,所有有趣的操作与页面交互都将通过WebElement 接口,包括上一节中介绍的对象定位,以及本节中需要介绍的常对象操作。
webdriver 中比较常用的操作元素的方法有下面几个:
clear 清除元素的内容,如果可以的话
send_keys 在元素上模拟按键输入
click 单击元素
submit 提交表单
例如:
driver.find_element_by_id("user_name").clear() driver.find_element_by_id("user_name").send_keys("username") driver.find_element_by_id("user_pwd").clear() driver.find_element_by_id("user_pwd").send_keys("password") driver.find_element_by_id("dl_an_submit").click() #通过submit() 来提交操作 #driver.find_element_by_id("dl_an_submit").submit()
clear() 用于清除输入框的默认内容
send_keys("xx") 用于在一个输入框里输入xx 内容
click() 用于单击一个按钮、连接等
submit() 提交表单
1、WebElement 接口常用方法
WebElement 接口除了我们前面介绍的方法外,它还包含了别一些有用的方法。下面,我们例举例几
个比较有用的方法。
size #返回元素的尺寸
text #获取元素的文本
get_attribute(name) #获得属性值
is_displayed() #检查该元素是否用户可见
例如:
size=driver.find_element_by_id("kw").size#返回百度输入框的宽高 text=driver.find_element_by_id("cp").text #返回百度页面底部备案信息 #返回元素的属性值,可以是id、name、type 或元素拥有的其它任意属性 attribute=driver.find_element_by_id("kw").get_attribute('type') #返回元素的结果是否可见,返回结果为True 或False result=driver.find_element_by_id("kw").is_displayed()
**************************************************************************************************
四、鼠标事件
前面例子中我们已经学习到可以用 click()来模拟鼠标的单击操作,而我们在实际的 web 产品测试中发现,有关鼠标的操作,不单单只有单击,有时候还要和到右击,双击,拖动等操作,这些操作包含在ActionChains 类中。ActionChains 类鼠标操作的常用方法:
context_click() 右击
double_click() 双击
drag_and_drop() 拖动
move_to_element() 鼠标悬停在一个元素上
click_and_hold() 按下鼠标左键在一个元素上
1、右击操作
#引入 ActionChains 类 from selenium.webdriver.common.action_chains import ActionChains ... #定位到要右击的元素 right =driver.find_element_by_xpath("xx") #对定位到的元素执行鼠标右键操作 ActionChains(driver).context_click(right).perform()
ActionChains 用于生成用户的行为;所有的行为都存储在 actionchains 对象中。通过 perform()执行存储的行为。
2、鼠标双击操作
#引入 ActionChains 类 from selenium.webdriver.common.action_chains import ActionChains ... #定位到要双击的元素 double =driver.find_element_by_xpath("xxx") #对定位到的元素执行鼠标双击操作 ActionChains(driver).double_click(double).perform()
3、鼠标拖放操作
drag_and_drop(source, target)
在源元素上按下鼠标左键,然后移动到目标元素上释放。
source: 鼠标按下的源元素。
target: 鼠标释放的目标元素。
#引入 ActionChains 类 from selenium.webdriver.common.action_chains import ActionChains ... #定位元素的原位置 element = driver.find_element_by_name("xxx") #定位元素要移动到的目标位置 target = driver.find_element_by_name("xxx") #执行元素的移动操作 ActionChains(driver).drag_and_drop(element, target).perform()
4、鼠标移动上元素上
#引入 ActionChains 类 from selenium.webdriver.common.action_chains import ActionChains ... #定位到鼠标移动到上面的元素 above = driver.find_element_by_xpath("xxx") #对定位到的元素执行鼠标移动到上面的操作 ActionChains(driver).move_to_element(above).perform()
5、按下鼠标左键
#引入 ActionChains 类 from selenium.webdriver.common.action_chains import ActionChains ... #定位到鼠标按下左键的元素 left=driver.find_element_by_xpath("xxx") #对定位到的元素执行鼠标左键按下的操作 ActionChains(driver).click_and_hold(left).perform()
**************************************************************************************************
五、键盘事件
from selenium.webdriver.common.keys import Keys #在使用键盘按键方法前需要先导入 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)
**************************************************************************************************
相关文章推荐
- Python Selenium 部分API详细使用方法(一)
- Python Selenium 部分API详细使用方法(三)
- Java String之StringBuilder以及它的API的详细使用方法
- 整点 appium 中部分 api 的使用方法
- 整点 appium 中部分 api 的使用方法
- Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)
- Java String之StringBuilder以及它的API的详细使用方法(2)
- selenium+python关于登录的脚本代码,使用了读取excel以及向excel中写入测试结果的方法
- Appium中部分api的使用方法
- Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)
- Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)
- Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)
- p4.pm p4python p4perl p4api 的使用方法
- Python使用Selenium测试WebApp在定位元素和使用元素属性报的莫名其妙错误的终极解决方法
- Appium中部分api的使用方法
- java excel api 部分使用方法
- Appium中部分api的使用方法
- 《Swift NSDictionary 的详细使用和部分方法介绍 和 哈希表(散列)的阐述和解释 》
- Python/C API使用方法简介 (在C/C++中嵌入Python)
- Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)