要注意的是,一定要在操作后面加上perform()方法——执行动作链,否则操作不会执行。那么ActionChains都有哪些主要的属性和方法呢?首先毫无疑问的是我们需要引入ActionChains和Keys模块,Keys中包含一些特殊的键盘按键,可以让我们引用,比如:Ctrl、F1~F12,A~Z等等。引入这两个模块的代码如下:
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import ActionChains
(一)click点击
主要包括 click 单击鼠标左键、double_click 双击鼠标左键、context_click 单击鼠标右键 这三个方法,这里我分别用三个例子来一一对他们进行代码验证:
1.单击鼠标左键百度首页的“新闻”,打开新闻标签页。
2.双击鼠标左键百度首页的 “地图”,打开地图标签页。
3.单击鼠标右键百度首页的“视频”,并且按照弹出的菜单框,键盘点击“T”,打开视频标签页。
1、click(on_element=None) 单击鼠标左键
(1)具体代码操作
单击鼠标左键 百度首页的“新闻”,打开新闻标签页,通过for循环切换到新闻页,验证标题中是否包含特定内容“新闻”,打印结果。
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import ActionChains
#用来判断是否打开特定标签页
def test_open_page(self, title_in):
for handle in self.driver.window_handles:
self.driver.switch_to.window(handle)
if title_in in self.driver.title:
print('It is true, open page', self.driver.title)
break
if __name__ == '__main__':
test = TestCase() #实例化TestCase类
test.test_click() #调用测试方法