1. 程式人生 > >selenium+Python常用webdriverAPI:控制瀏覽器、滑鼠、鍵盤等操作

selenium+Python常用webdriverAPI:控制瀏覽器、滑鼠、鍵盤等操作

繼續講解selenium webdriver 4種滑鼠事件(右擊、雙擊、拖動、滑鼠懸停)、鍵盤事件(各種快捷鍵)、用js控制瀏覽器滾動條位置、獲取cookie的方法
前提:已經搭建好selenium+python環境
一、滑鼠事件
首先,在指令碼中除了要匯入webdriver類外,還要引入ActionChains類,也就是
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
(1)右擊context_click()
a=driver.find_element_by_id(‘xx’)
ActionChains(driver).context_click(a).perform()/

/右鍵id為XX的元素,每個滑鼠事件都要用到perform()方法
(2)懸停move_to_element()
b=driver.find_element_by_id(‘xx’)
ActionChains(driver).move_to_element(b).perfom()
(3)拖放drag_and_drop
c=driver.find_element_by_id(‘xx’)
d=driver.find_element_by_id(‘xx’)
ActionChains(driver).drag_and_drop(c,d).perform()//從c位置拖放到d位置
(4)雙擊double_click
e=driver.find_element_by_id(‘xx’)
ActionChains(driver).double_click(e).perfom()

二、鍵盤事件
鍵盤事件要匯入Keys類也就是
from selenium.webdriver.common.keys import keys
然後在獲取元素的輸入框後,send_keys()括號中加入Keys.按鍵名,比如
全選:
driver.find_element_by_id(‘XX’).send_keys**(Keys.**CONTROL,‘a’) //模擬輸入ctrl+a,全選
空格:
driver.find_element_by_id(‘XX’).send_keys(Keys.space)//模擬輸入空格

三、呼叫js事件
呼叫js控制瀏覽器滾動條位置
以百度頁面為例:
from selenium import webdriver
driver=webdriver.Firefox()
driver.get(“

http://www.baidu.com”)
driver.set_window_size(600,800)
js="window.scrollTo(200,450);"//設定滾動條停留在底部200,高度450的位置上
driver.execute_script(js)//呼叫.execute_script執行js程式碼
driver.quit()

四、操作cookie
get_cookies() 獲取所有cookies資訊
get_cookie(name) 返回字典中key為name的cookie資訊
add_cookie(cookie_dict)新增cookie,cookie——dict指字典物件,cookie資訊必須用name:value形式
delete_all_cookies()刪除所有cookies
以上四種不再一一舉例
from selenium import webdriver
driver=webdriver.Firefox()
driver.get(“http://www.baidu.com”)
cookie=driver.get_cookies()
print(cookie)//輸出頁面所有cookie