webdriver的API學習(一)
阿新 • • 發佈:2019-02-15
一、從定位元素開始
driver = webdriver.Firefox() // 開啟火狐
ele = driver.find_element_by_id() // 定位元素
driver.find_element_by_name()
driver.find_element_by_link_text() // a標籤中的文字
driver.find_element_by_css_selector() // css的路徑
driver.find_element_by_xpath() // 通過xpath
二、控制瀏覽器
1、控制瀏覽器大小
#控制瀏覽器的大小
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://m.mail.10086.cn')
#引數數字為畫素點
print('設定瀏覽器的尺寸,高800,寬480')
driver.set_window_size(480, 800)
driver.quit()
2、控制瀏覽器前進後退
# 前進和後退頁面 from selenium import webdriver import time driver = webdriver.Firefox() #訪問百度首頁 first_url = 'http://www.baidu.com' print('now access %s' %(first_url)) driver.get(first_url) time.sleep(2) #訪問新聞頁面 second_url = 'http://news.baidu.com' print('now access %s' %second_url) driver.get(second_url) time.sleep(2) #返回到百度頁面 print("back to %s" %(first_url)) driver.back() time.sleep(2) #前進到新聞頁 print("forward to %s" %(second_url)) driver.forward() time.sleep(2) # 重新整理頁面 driver.refresh() driver.quit()
三、基本元素操作
# 元素操作 from selenium import webdriver driver = webdriver.Firefox() driver.get('http://www.126.com') # 清除資料 driver.find_element_by_xpath("//input[@name='email']").clear() # 填入資料 driver.find_element_by_xpath("//input[@name='email']").send_keys('username') driver.find_element_by_xpath("//input[@name='password']").clear() driver.find_element_by_xpath("//input[@name='password']").send_keys('password') # 點選事件 driver.find_element_by_id("dologin").click() driver.quit()
四、滑鼠事件
from selenium import webdriver
# 滑鼠事件要引入actionchains,包括右擊、雙擊、懸停、拖動
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Firefox()
driver.get('http://www.w3school.com.cn/index.html')
right = driver.find_element_by_link_text('w3school 線上教程')
# 調動ActionChains類,將驅動driver作為引數傳入,
# context_click右擊,定位元素
# perform執行
#ActionChains(driver).context_click(right).perform()
# 懸停move_to_element
ActionChains(driver).move_to_element(right).perform()
# 雙擊
# double_click()
# ActionChains(driver).double_click(right).perform()
# 拖放
# drag_and_drop(原位置,目標位置)
# ActionChains(driver).drag_and_drop(element, target).perform()
五、
# 鍵盤事件,鍵盤上的鍵和組合鍵
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
# 輸入內容
driver.find_element_by_id('kw').send_keys('selenium')
# 刪除一個字元==後退
driver.find_element_by_id('kw').send_keys(Keys.BACK_SPACE)
# 輸入空格鍵和“教程”,連續輸入send_keys會合並
driver.find_element_by_id('kw').send_keys(Keys.SPACE)
driver.find_element_by_id('kw').send_keys('教程')
# 輸入Ctrl+a全選
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'a')
# ctrl+x剪下
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'x')
# ctrl+v貼上
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'v')
# 輸入回車鍵代替單擊操作
driver.find_element_by_id('su').send_keys(Keys.ENTER)
# F1
# send_keys(Keys.F1)
driver.quit()