1. 程式人生 > >webdriver的API學習(一)

webdriver的API學習(一)

一、從定位元素開始

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