python3自动化实践10之鼠标操作

1.鼠标单击,双击和右键操作

from selenium import webdriver

from selenium.webdriver.common.action_chains import ActionChains

from time import sleep

driver = webdriver.Firefox()

driver.get("http://sahitest.com/demo/clicks.htm")

#单击操作

click = driver.find_element_by_xpath("//input[@value='click me']")

#双击操作

double_click = driver.find_element_by_xpath("//input[@value='dbl click me']")

#右击操作

right_click = driver.find_element_by_xpath("//input[@value='right click me']")

ActionChains(driver).click(click).double_click(double_click).context_click(right_click).perform()

print(driver.find_element_by_name("t2").get_attribute("value"))

sleep(2)

driver.close()


2.鼠标移动操作

from selenium import webdriver

from selenium.webdriver.common.action_chains import ActionChains

from time import sleep

driver = webdriver.Firefox()

driver.get("file:///D:/Develop/LL/Seleninum/BaiduDemo/mouseover.htm")

write = driver.find_element_by_xpath("//input[@value='Write on hover']")

blank = driver.find_element_by_xpath("//input[@value='Blank on hover']")

result = driver.find_element_by_name("t1")

#移动鼠标到write元素

ActionChains(driver).move_to_element(write).perform()

print(result.get_attribute("value"))

#移动鼠标到当前位置(20,30)点

ActionChains(driver).move_by_offset(20,30).perform()

print(result.get_attribute("value"))

#移动鼠标到blank元素

ActionChains(driver).move_to_element(blank).perform()

print(result.get_attribute("value"))

#移动鼠标从blank元素到(-10,40)的地方

ActionChains(driver).move_to_element_with_offset(blank,-10,40)

print(result.get_attribute("value"))

sleep(2)

driver.close()


3.鼠标拖动操作

from selenium import webdriver                                                                                     

from selenium.webdriver.common.action_chains import ActionChains

from time import sleep

driver = webdriver.Firefox()

driver.get("file:///D:/Develop/LL/Seleninum/BaiduDemo/Mootools Drag and Drop Example.html")

dragger = driver.find_element_by_id("dragger")

item1 = driver.find_element_by_xpath("//div[text()='Item 1']")

item2 = driver.find_element_by_xpath("//div[text()='Item 2']")

item3 = driver.find_element_by_xpath("//div[text()='Item 3']")

item4 = driver.find_element_by_xpath("//div[text()='Item 4']")

#将dragger元素拖到item1位置

ActionChains(driver).drag_and_drop(dragger,item1).perform()

sleep(2)

#将dragger元素拖到item2位置

ActionChains(driver).click_and_hold(dragger).move_to_element(item2).release().perform()

sleep(2)

#将dragger元素拖到item3位置

ActionChains(driver).click_and_hold(dragger).release(item3).perform()

sleep(2)

#将dragger元素拖到(400,150)位置

ActionChains(driver).drag_and_drop_by_offset(dragger,400,150).perform()

sleep(2)

driver.close()


4.按键操作

from selenium import webdriver

from selenium.webdriver.common.action_chains import ActionChains

from selenium.webdriver.common.keys import Keys

from time import sleep

driver = webdriver.Firefox()

driver.get("http://sahitest.com/demo/keypress.htm")

result = driver.find_element_by_xpath("//input[@name='t1']")

enter = driver.find_element_by_xpath("//input[@name='t2']")

keys_up = driver.find_element_by_xpath("//input[@id='r1']")

keys_down = driver.find_element_by_xpath("//input[@id='r2']")

keys_press = driver.find_element_by_xpath("//input[@id='r3']")

#检测keys_up操作

keys_up.click()

result.click()

ActionChains(driver).key_down(Keys.CONTROL,enter).key_up(Keys.CONTROL).perform()

print(enter.get_attribute("value"))

sleep(2)

#检测keys_down操作

keys_down.click()

result.click()

ActionChains(driver).key_down(Keys.SHIFT).key_up(Keys.SHIFT).perform()

print(enter.get_attribute("value"))

sleep(2)

#检测keys_press操作

keys_press.click()

result.click()

ActionChains(driver).send_keys('a').perform()

print(enter.get_attribute("value"))

sleep(2)

driver.quit()




                
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值