python webdriver自動化測試初步印象
以下示例演示啟動firefox,瀏覽google.com,搜索Cheese,等待搜索結果,然后打印出搜索結果頁的標題
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait #
available since 2.4.0
from selenium.webdriver.support import expected_conditions as
EC # available since 2.26.0
# Create a new instance of the Firefox driver
driver = webdriver.Firefox()
# go to the google home page
driver.get("http://www.google.com")
# find the element that's name attribute is q (the google
search box)
inputElement = driver.find_element_by_name("q")
# type in the search
inputElement.send_keys("Cheese!")
# submit the form (although google automatically searches now
without submitting)
inputElement.submit()
# the page is ajaxy so the title is originally this:
print driver.title
try:
# we have to wait for the page to refresh, the last thing that
seems to be updated is the title
WebDriverWait(driver,
10).until(EC.title_contains("cheese!"))
# You should see "cheese! - Google Search"
print driver.title
finally:
driver.quit()
python webdriver自動化測試通過控件xpath定位元素
有一段html代碼如下:
現在通過xpath來查找到相應的input元素,代碼demo如下:
from selenium.webdriver.common.by import By
#查找所有input元素方法一
inputs = driver.find_elements_by_xpath("//input")
#查找所有input元素方法二
inputs = driver.find_elements(By.XPATH, "//input")
#查找指定的input元素,比如查找name為other的input
inputs =
driver.find_element_by_xpath("//input[@name='other']")
python webdriver自動化測試在window和frame之間切換
from selenium import webdriver
# 啟動firefox初始化webdriver
driver = webdriver.Firefox()
1、切換到指定窗口名的窗口,
例如有一段html代碼如下
driver.switch_to_window("windowName")
2、當然也可以通過句柄來切換,示例如下
for handle in driver.window_handles:
driver.switch_to_window(handle)
上述代碼會遍歷,一個個的切換。
3、通過frame名稱切換到指定的frame
driver.switch_to_frame("frameName")
4、也可以通過frame的索引來切換
driver.switch_to_frame(0) #切換到第一個frame
python使用selenium rc和webdriver啟動不同瀏覽器的方法
Selenium 1 -啟動 Internet Explorer
from selenium import selenium
selenium = selenium("localhost", 4444, "*iexplore",
"http://google.com/")
selenium.start()
Selenium 1 - 啟動Firefox
from selenium import selenium
selenium = selenium("localhost", 4444, "*firefox",
"http://google.com/")
selenium.start()
webdriver - 啟動Firefox
from selenium import webdriver
driver = webdriver.Firefox()
webdriver - 啟動Chrome
from selenium import webdriver
driver = webdriver.Chrome()
webdriver - 啟動Remote
from selenium import webdriver
driver = webdriver.Remote( browser_name="firefox",
platform="any")
webdriver - 啟動IE
from selenium import webdriver
driver = webdriver.Ie()
備注: 除了啟動IE外,webdriver啟動其他瀏覽器均需安裝相應瀏覽器的驅動組件,關于這塊的環境搭建請參見
python webdriver自動化測試通過控件css定位元素
有一段html代碼如下:
milkcheese
現在通過css來查找到相應的span元素,代碼demo如下:
from selenium.webdriver.common.by import By
#查找css為span元素方法一
cheese = driver.find_element_by_css_selector("#food
span.dairy.aged")
#查找css為span元素方法二
cheese = driver.find_element(By.CSS_SELECTOR, "#food
span.dairy.aged")
python webdriver自動化測試通過控件 Partial Link Text定位元素
有一段html代碼如下:
現在通過Partial Link Text來查找到相應的a元素,代碼demo如下:
from selenium.webdriver.common.by import By
#查找Partial Link Text為a元素方法一
cheese =
driver.find_element_by_partial_link_text("cheese")
#查找Partial Link Text為a元素方法二
cheese = driver.find_element(By.PARTIAL_LINK_TEXT,
"cheese")
python webdriver自動化測試通過控件link text定位元素
有一段html代碼如下:
現在通過link text來查找到相應的a元素,代碼demo如下:
from selenium.webdriver.common.by import By
#查找link text為cheese元素方法一
cheese = driver.find_element_by_link_text("cheese")
#查找link text為cheese元素方法二
cheese = driver.find_element(By.LINK_TEXT, "cheese")
python webdriver自動化測試通過控件tag name定位元素
有一段html代碼如下:
現在通過tag name來查找到相應的iframe元素,代碼demo如下:
from selenium.webdriver.common.by import By
#查找tag name為iframe元素方法一
frame = driver.find_element_by_tag_name("iframe")
#查找tag name為iframe元素方法二
frame = driver.find_element(By.TAG_NAME, "iframe")
python webdriver自動化測試通過控件class name定位元素
有一段html代碼如下:
Cheddar
Gouda
現在通過class name來查找到相應的div元素,代碼demo如下:
from selenium.webdriver.common.by import By
#查找第一個class為cheese的div元素
cheeses = driver.find_elements_by_class_name("cheese")
# 查找所有class為cheese的div元素
cheeses = driver.find_elements(By.CLASS_NAME, "cheese")
python webdriver自動化測試通過控件name定位元素
#導入webdriver
from selenium import webdriver
# 啟動firefox初始化webdriver
# ie: driver = webdriver.Ie()
# chrome: driver = webdriver.Chrome()
driver = webdriver.Firefox()
# 訪問baidu官網
driver.get("http://www.baidu.com")
# 定位輸入框
element= driver.find_element_by_name("wd")
# 打印出來看一下
# 會看到一個內存地址,說明已經找到
print element
# 關閉瀏覽器、退出webdriver
driver.quit()
python webdriver自動化測試通過控件id定位元素
#導入webdriver
from selenium import webdriver
# 啟動firefox初始化webdriver
# ie: driver = webdriver.Ie()
# chrome: driver = webdriver.Chrome()
driver = webdriver.Firefox()
# 訪問baidu官網
driver.get("http://www.baidu.com")
# 定位輸入框
element = driver.find_element_by_id("kw")
# 打印出來看一下
# 會看到一個內存地址,說明已經找到
print element
# 關閉瀏覽器、退出webdriver
driver.quit()
python webdriver自動化測試訪問某個網址
python webdriver自動化測試訪問指定網址示例
#導入webdriver
from selenium import webdriver
# 啟動firefox初始化webdriver
# ie: driver = webdriver.Ie()
# chrome: driver = webdriver.Chrome()
driver = webdriver.Firefox()
# 訪問google官網
# 記得網址前最好帶http
driver.get("http://www.google.com")