1.用By定位元素web
from selenium.webdriver.common.by import By find_element(By.ID,"kw") find_element(By.Name,"wd") find_element(By.CLASS_NAME,"s_ipt") find_element() find_element() find_element() find_element(By.CSS_SELECTOR,"span.bg s_btn_wr>input#su")
2.控制瀏覽器窗口的大小瀏覽器
set_window_size()ui
from selenium import webdriver driver = webdriver.Firefox() driver.get("http://www.baidu.com") print("設置瀏覽器寬480、高800顯示") driver.set_window_size(480,800) driver.quit()
3.控制瀏覽器的後退、前進url
back() 和 forward()spa
from selenium import webdriver driver = webdriver.Firefox() first_url = 'http://www.baidu.com' print("now access %s" %(first_url)) driver.get(first_url) second_url =‘http://news.baidu.com' print("now access %s" %(second_url)) driver.get(second_url) print("back to %s "%(first_url)) driver.back() print("forward to %s"%(second_url)) driver.forward() driver.quit()
3.模擬瀏覽器的刷新code
driver.refresh()orm
2、簡單的元素操做blog
clear(): 清除文本接口
send_keys(*value): 模擬按鍵輸入事件
click(): 單擊元素
from selenium import webdriver driver = webdriver.Firefox() driver.get("http://www.126.com") driver.find_element_by_id("idInput").clear() driver.find_element_by_id("idInput").send_keys("username") driver.find_element_by_id("pwdInput").clear() driver.find_element_by_id("pwdInput").send_keys("password") driver.find_element_by_id("loginBtn").click() driver.quit()
2.WebElement接口經常使用方法
submit()方法用於提交表單
from selenium import webdriver driver = webdriver.Firefox() driver.get("http://www.youdao.com") driver.find_element_by_id('query').send_keys('hello') driver.find_element_by_id('query').submit() driver.quit()
size:返回元素的尺寸
text:獲取元素的文本
get_attribute(name):得到屬性值
is_displayed():設置該元素是否用戶可見
from selenium import webdriver driver = webdriver.Firefox() driver.get("http://www.baidu.com") size = driver.find_element_by_id('kw').size print(size) text = driver.find_element_by_id('cp’).text print(text) attribute=driver.find_element_by_id("kw").get_attribute('type') print(attribute) result = driver.find_element_by_id("kw").is_displayed() print(result) driver.quit()
WebElement接口還能夠參考WeBDriver API
3、鼠標事件:
封裝在ActionChains類中
perform(): 執行全部ActionChains中存儲的行爲
context_click(): 右擊
double_click(): 雙擊
drag_and_drop():拖動
move_to_element():鼠標懸停
1.鼠標右擊鍵操做:
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Firefox() driver.get("http://yunpan.360.pn") right_click = driver.find_element_by_id("xx") ActionChains(driver).context_click(right_click).perform() #ActionChains(driver)調用ActionChains()類,將瀏覽器驅動driver做爲參數傳入 context_click()方法用於模擬鼠標右鍵操做,在調用時須要指定元素定位 perform()執行全部ActionChains中存儲行爲,對整個操做的提交動做
2.鼠標懸停
move_to_element()用法與context_click()相同
………………………… #定位到要懸停的元素 above = driver.find_element_by_id("id") #對定位到的元素執行懸停操做 ActionChains(driver).move_to_element(above).perform()
3.鼠標雙擊操做
double_click方法用於模擬鼠標雙擊操做
…… double_click = driver.find_element_by_id("xx") ActionChains(driver).double_click(double_click).perform()
4.鼠標拖放操做
drag_and_drop(source,target)在源元素上按住鼠標左鍵,而後移動到目標元素上釋放
source:鼠標拖動的源元素
target:鼠標釋放的目標元素
#定位元素的原位置 element = driver.find_elment_by_id("xx") #定位元素要移動到的目標位置 target = driver.find_element_by_id("xx") #執行元素的拖放操做 ActionChains(driver).drag_and_drop(element,target).perform()