selenium的鼠标和键盘事件
Posted 永远不要矫情
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium的鼠标和键盘事件相关的知识,希望对你有一定的参考价值。
selenium的鼠标和键盘事件被封装在ActionChains类中。常用方法如下:
1.鼠标事件
下面代码主要演示鼠标的单击,双击和右击。如下所示:
from selenium import webdriver
from time import sleep
from selenium.webdriver import ActionChains
class TestCase(object):
def __init__(self):
self.driver = webdriver.Chrome()
# self.driver.maximize_window()
self.driver.get('http://sahitest.com/demo/clicks.htm')
def test_mourse(self):
btn = self.driver.find_element_by_xpath('/html/body/form/input[2]')
ActionChains(self.driver).double_click(btn).perform()
sleep(2)
btn = self.driver.find_element_by_xpath('/html/body/form/input[3]')
ActionChains(self.driver).click(btn).perform()
sleep(2)
btn = self.driver.find_element_by_xpath('/html/body/form/input[4]')
ActionChains(self.driver).context_click(btn).perform()
sleep(5)
if __name__ == '__main__':
case = TestCase()
case.test_mourse()
执行结果如下所示:
2.键盘事件
有一个键盘辅助类Keys,可实现键盘的相关的操作,代码如下所示:
from selenium import webdriver
from time import sleep
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
class TestCase(object):
def __init__(self):
self.driver = webdriver.Chrome()
def test_key(self):
self.driver.get('http://www.baidu.com')
# kw = self.driver.find_element_by_id('kw')
# kw.send_keys('selenium')
# kw.send_keys(Keys.CONTROL,'a')
# sleep(2)
# kw.send_keys(Keys.CONTROL, 'x')
# sleep(2)
# kw.send_keys(Keys.CONTROL, 'v')
#
# sleep(2)
e = self.driver.find_element_by_link_text('新闻')
print(e)
ActionChains(self.driver).move_to_element(e).click(e).perform()
sleep(2)
if __name__ == '__main__':
case = TestCase()
case.test_key()
以上是关于selenium的鼠标和键盘事件的主要内容,如果未能解决你的问题,请参考以下文章