引言
----在实际的web测试工作中,需要配合键盘按键来操作,webdriver的 keys()类提供键盘上所有按键的操作,还可以模拟组合键Ctrl+a,Ctrl+v等。
举例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#cording=gbk
import os
import time
from selenium import webdriver
from selenium.webdriver.common.by import By #导入by方法
from selenium.webdriver.common.action_chains import ActionChains ##对鼠标事件操作
from selenium.webdriver.common.keys import Keys # 对键盘事件操作
current_path = os.path.dirname(__file__)
firefox_path = current_path + "/../webdriver/geckodriver.exe"
driver = webdriver.Firefox(executable_path = firefox_path)
driver.get( "http://www.baidu.com" )
# 先输入百度
driver.find_element_by_id( 'kw' ).send_keys( '百度' )
time.sleep( 3 )
# 1.删除度
driver.find_element_by_id( 'kw' ).send_keys(Keys.BACK_SPACE)
time.sleep( 3 )
#2.清空输入框,重新输入值
driver.find_element_by_id( 'kw' ).clear()
driver.find_element_by_id( 'kw' ).send_keys( '安琪儿' )
time.sleep( 5 )
# 3.ctrl+a 全选输入框里的内容
driver.find_element_by_id( 'kw' ).send_keys(Keys.CONTROL, 'a' )
time.sleep( 3 )
# 4.ctrl+x 剪切输入框里的内容
driver.find_element_by_id( 'kw' ).send_keys(Keys.CONTROL, 'x' )
time.sleep( 3 )
# 5. ctrl+v 粘贴剪切的内容
driver.find_element_by_id( 'kw' ).send_keys(Keys.CONTROL, 'v' )
time.sleep( 3 )
# 6. 回车
driver.find_element_by_id( 'su' ).send_keys(Keys.ENTER)
time.sleep( 3 )
|
在实际的web产品测试中,对于鼠标的操作,不单单只有click(),有时候还要用到右击、双击、拖动等操作,这些操作包含在ActionChains类中。
ActionChains类中鼠标操作常用方法:
- context_click() :右击
- double_click() :双击
- drag_and_drop() :拖动
- move_to_element() :鼠标移动到一个元素上
举例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#cording=gbk
import os
from selenium import webdriver
from selenium.webdriver.common.by import By #导入by方法
from selenium.webdriver.common.action_chains import ActionChains ##对鼠标事件操作
current_path = os.path.dirname(__file__)
firefox_path = current_path + "/../webdriver/geckodriver.exe"
driver = webdriver.Firefox(executable_path = firefox_path)
driver.get( "http://127.0.0.1/zentao/user-login-L3plbnRhby9teS5odG1s.html" )
mouse = ActionChains(driver) #创建一个鼠标对象
# element1=driver.find_element(By.XPATH,"//img[@src='/zentao/theme/default/images/main/zt-logo.png']") #Xpath利用属性定位
element1 = driver.find_element(By.XPATH, "//img[contains(@src,'images/main/zt-logo.png')]" ) #xpath使用包含属性方法定位
mouse.context_click(element1).perform() #执行鼠标右击,.perform() 表示执行
element2 = driver.find_element(By.XPATH, "//button[@type='button' and @class='btn' ]" ) #多属性定位
mouse.move_to_element(element2).perform() #移动到这个元素上
#对元素进行截图
driver.find_element(By.XPATH, "//button[@id='submit'][@type='submit']" ).screensh
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/123anqier-blog/p/12729482.html