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()




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章