测试必须在时间、质量和成本之间获取一个平衡点,这是测试策略和测试设计的价值体现。

2.6 操作元素(键盘和鼠标事件)

上一篇 / 下一篇  2018-06-12 10:44:53 / 个人分类:Python+Selenium2 WebDriver API

2.6 操作元素(键盘和鼠标事件)

51Testing软件测试网T/D+|MeVn

前言51Testing软件测试网*B\j+B9w"b%D
在前面的几篇中重点介绍了一些元素的定位方法,定位到元素后,接下来就是需要操作元素了。本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件51Testing软件测试网 Gw6Qa1B3KX]
有些web界面的选项菜单需要鼠标悬停在某个元素上才能显示出来(如百度页面的设置按钮)。

f+u/l:C V#\4c0

2.6.1 简单操作

;duW]jW0    1.点击(鼠标左键)页面按钮:click()
J,F };q/[)o)S0    2.清空输入框:clear()
W"l8~)agk0    3.输入字符串:send_keys()51Testing软件测试网 \Yf Qt_7Z"D
    4.send_keys()如果是发送中文的,前面需加u,如:u"中文",因为这里是输入到windows系统了,windows系统是GBK编码,我们的脚本是utf-8,需要转码为Unicode国际编码,这样才能识别到。

@}|^7w;L!ZRJ051Testing软件测试网#M2r^%C i

51Testing软件测试网l~6P7~/\(`"R]!p&^5O

51Testing软件测试网MZ#H z2Y

 51Testing软件测试网8i2F7QOp'e2cN

2.6.2 submit提交表单

#e J*x r\01.在前面百度搜索案例中,输入关键字后,可以直接按回车键搜索,也可以点搜索按钮搜索。51Testing软件测试网5f2q)i]#_@8P([
2.submit()一般用于模拟回车键。

WW/\hdQ@@i^d051Testing软件测试网@(|+]2x#t2ij{

5JWcx s8a)[Hm0

x3cM5mc1bH;b_0 

;J*Yf7X0^i#}Grf0

2.6.3 键盘操作 

"YLAa&m/S f&v/f0    1.selenium提供了一整套的模拟键盘操作事件,前面submit()方法如果不行的话,可以试试模拟键盘事件
H;l#UB(?L0    2.模拟键盘的操作需要先导入键盘模块:from selenium.webdriver.common.keysimport Keys
o [*q`e&Pcl}{0    3.模拟enter键,可以用send_keys(Keys.ENTER)51Testing软件测试网8}{$^#Ks0N6i

k r#Q(fRGf;t_7X0

&^`4@[4B({IAd051Testing软件测试网5Ef4u+lG9a,XU

 51Testing软件测试网#Q'gg8Q&[+Z[0Z8^6o

O1Q1R)FH Y"@v9c0    4.其它常见的键盘操作:
H(^k.Dw$C8b0       键盘F1到F12:send_keys(Keys.F1)把F1改成对应的快捷键:

.O4sO4O:e:{+Xw051Testing软件测试网0Sn}t'OygS

       复制Ctrl+C:send_keys(Keys.CONTROL,'c') 

U X Cdo U0

y%~!W+?ag0       粘贴Ctrl+V:send_keys(Keys.CONTROL,'v') 51Testing软件测试网t/^0YkB NOd[

H jGg.C6ClN0       全选Ctrl+A:send_keys(Keys.CONTROL,'a') 

8xR$~/k0N051Testing软件测试网9X$kG.E d]S

       剪切Ctrl+X:send_keys(Keys.CONTROL,'x') 

f ~CC?3YMX051Testing软件测试网z~5@[s8{ y6^8p2R

       制表键Tab:  send_keys(Keys.TAB) 

V.RZ${Q8w_051Testing软件测试网hi$N_2o2{

       这里只是列了一些常用的,当然除了键盘事件,也有鼠标事件。51Testing软件测试网/Ftt"g$[b

2.6.4 鼠标悬停事件

51Testing软件测试网A&`/fIv)KUQ8h

    1.鼠标不仅仅可以点击(click),鼠标还有其它的操作,如:鼠标悬停在某个元素上,鼠标右击,鼠标按住某个按钮拖到
o2M"S)MQ feY0OC0    2.鼠标事件需要先导入模块:from selenium.webdriver.common.action_chainsimport ActionChains
)J)KgBX&H+N0        perform() 执行所有ActionChains中的行为;
.].h(g#V }/|a.Fe!| T0        move_to_element() 鼠标悬停。51Testing软件测试网%lj!o&I^:sL&j
    3.这里以百度页面设置按钮为例:51Testing软件测试网y)wU2b [{,P$\a5i

51Testing软件测试网Z&U,Y;Nu`6q'N

m%A)wT+WJ%R;u k0

:t}u4wM!wd0    4.除了常用的鼠标悬停事件外,还有51Testing软件测试网t*jN j(a1}8M
       右击鼠标:context_click()51Testing软件测试网 lHSaf]3yj
       双击鼠标:double_click()51Testing软件测试网v&ni#V5n VK'ldC
       依葫芦画瓢,替换上面案例中对应的鼠标事件就可以了51Testing软件测试网 {S rIvC*y9\%@
       selenium提供了一整套完整的鼠标和键盘行为事件,功能还是蛮强大滴。下一篇介绍多窗口的情况下如何处理。

{y@^"J jp gX0

TAG:

 

评分:0

我来说两句

Open Toolbar