python selenium中文文檔-入門

2020-09-05 pyhelloworld

2. 入門

2.1. 簡單用法

如果你已經安裝了Selenium Python庫,你可以像這樣從Python開始使用它。

from selenium import webdriverfrom selenium.webdriver.common.keys import Keysdriver = webdriver.Firefox()driver.get("http://www.python.org")assert "Python" in driver.titleelem = driver.find_element_by_name("q")elem.clear()elem.send_keys("pycon")elem.send_keys(Keys.RETURN)assert "No results found." not in driver.page_sourcedriver.close()

上面的腳本可以保存到文件中(例如: - python_org_search.py),然後就可以像這樣運行:

python python_org_search.py

在運行前應該先安裝 python selenium庫

2.2. 示例說明

selenium.webdriver模塊提供了所有WebDriver實現。 目前支持的WebDriver實現是Firefox,Chrome,IE和Remote。 Keys類提供鍵盤中的鍵,如RETURN,F1,ALT等。

from selenium import webdriverfrom selenium.webdriver.common.keys import Keys

接下來,創建一個 Firefox WebDriver .實例

driver = webdriver.Firefox()

driver.get方法將導航到URL給出的頁面。 在將控制項返回到測試或腳本之前,WebDriver將等待頁面完全加載(即「onload」事件已觸發)。 值得注意的是,如果你的頁面在加載時使用了大量的AJAX,那麼WebDriver可能不知道它何時完全加載:

driver.get("http://www.python.org") --- 加載URL頁面

下一行是斷言,確認標題中有「Python」字樣:

assert "Python" in driver.title

WebDriver提供了許多使用其中一個find_element_by_ *方法查找元素的方法。 例如,可以使用find_element_by_name方法通過其name屬性定位輸入文本元素。 有關查找元素的詳細說明,請參閱「定位元素」一章:

elem = driver.find_element_by_name("q")

接下來,我們發送指令,這類似於使用鍵盤輸入指令。 可以使用從selenium.webdriver.common.keys導入的Keys類發送特殊鍵。 為安全起見,我們首先清除輸入欄位中的任何預先填充的文本(例如「搜索」),這樣就不會影響我們的搜索結果:

elem.clear()elem.send_keys("pycon") -- 鍵入「pycon」elem.send_keys(Keys.RETURN) -- 回車鍵

提交頁面後,如果有響應內容,就會得到對應內容。 為確保找到對應的響應內容,使用assert斷言

assert "No results found." not in driver.page_source

最後,關閉瀏覽器窗口。 也可以調用quit方法而不是關閉。 quit將退出整個瀏覽器,而close`將關閉一個選項卡,但如果只打開一個選項卡,默認情況下大多數瀏覽器將完全退出:

driver.close()

2.3. 使用Selenium編寫測試

Selenium主要用於編寫測試用例。 selenium包本身不提供測試工具/框架。 您可以使用Python的unittest模塊編寫測試用例。 其他工具/框架的選項是py.test和nose。

在本章中,我們使用unittest框架。 這是使用unittest模塊的修改示例。 這是對python.org搜索功能的測試:

import unittestfrom selenium import webdriverfrom selenium.webdriver.common.keys import Keysclass PythonOrgSearch(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() def test_search_in_python_org(self): driver = self.driver driver.get("http://www.python.org") self.assertIn("Python", driver.title) elem = driver.find_element_by_name("q") elem.send_keys("pycon") elem.send_keys(Keys.RETURN) assert "No results found." not in driver.page_source def tearDown(self): self.driver.close()if __name__ == "__main__": unittest.main()

你可以在shell中運行上面的testcase.

python test_python_org_search.py.----------------------------------------------------------------------Ran 1 test in 15.566sOK

以上結果表明測試已成功完成。

2.4. 解釋一下這個例子

最初,導入所需的所有基本模塊。 unittest模塊是基於Java的JUnit的內置Python。 該模塊提供了測試用例的框架。 selenium.webdriver模塊提供了所有WebDriver實現。 目前支持的WebDriver實現是Firefox,Chrome,Ie和Remote。 Keys類提供鍵盤中的鍵,如RETURN,F1,ALT等。

import unittestfrom selenium import webdriverfrom selenium.webdriver.common.keys import Keys

測試用例類PythonOrgSearch繼承自unittest.TestCase。

class PythonOrgSearch(unittest.TestCase):

setUp是初始化的一部分,這個方法將在你要在這個測試用例類中編寫的每個測試函數之前調用。 在這裡,您將創建Firefox WebDriver的實例。 --- 類似於初始化

def setUp(self): self.driver = webdriver.Firefox()

這是測試用例方法。 測試用例方法應始終以字符test開始。 此方法中的第一行創建對setUp方法中創建的驅動程序對象driver的本地引用。

def test_search_in_python_org(self): driver = self.driver

driver.get方法將導航到URL給出的頁面。 在控制權返回到測試或腳本之前,WebDriver將等待頁面完全加載(即「onload」事件已觸發)。 值得注意的是,如果你的頁面在加載時使用了大量的AJAX,那麼WebDriver可能不知道它何時完全加載:

driver.get("http://www.python.org")

下一行是斷言,確認標題中有「Python」字樣:

self.assertIn("Python", driver.title)

WebDriver提供了許多使用其中一個find_element_by_ *方法查找元素的方法。 例如,可以使用find_element_by_name方法通過其name屬性定位輸入文本元素。 有關查找元素的詳細說明,請參閱「定位元素」一章:

elem = driver.find_element_by_name("q")

接下來,我們發送鍵盤按鈕,這類似於使用鍵盤輸入按鍵。 可以使用從selenium.webdriver.common.keys導入的Keys類發送特殊鍵:

elem.send_keys("pycon")elem.send_keys(Keys.RETURN)

提交頁面後,如果有響應內容的話, 為確保找到一些結果,使用斷言:

assert "No results found." not in driver.page_source

每個測試方法後都會調用tearDown方法。 這是一個執行所有清理操作的地方。 在當前方法中,瀏覽器窗口關閉。 您也可以調用quit方法而不是close。 退出將退出整個瀏覽器,而close將關閉一個選項卡,但如果它是唯一打開的選項卡,默認情況下大多數瀏覽器將完全退出:

def tearDown(self): self.driver.close()最後一行是運行測試套件的一些樣板代碼:if __name__ == "__main__": unittest.main()

相關焦點

  • Python Selenium中文文檔-安裝篇
    本文檔介紹了Selenium 2 WebDriver API。 Selenium 1 / Selenium RC API不在此處。1.2. 下載Selenium Python庫¶ 可以從PyPI頁面下載Selenium的Python庫。 但是,更好的方法是使用pip來安裝selenium包。
  • python selenium中文文檔-FAQ
    FAQAnother FAQ: https://github.com/SeleniumHQ/selenium/wiki/Frequently-Asked-Questions8.1. 如何使用ChromeDriver?
  • python selenium中文文檔-頁面抽象方法
    Test case 測試用例這是一個測試用例,它在python.org網站上搜索一個單詞並確保找到一些結果。import unittestfrom selenium import webdriverimport page
  • 10分鐘玩轉Python+Selenium自動化測試,快速入門通道!
    根據最近面試的情況,把很多同學在實踐selenium的時候沒弄清的問題總結了一下,順便教大家如何快速玩轉selenium!現在測試工程師都在聊什麼?1、python會了嗎最近?2、selenium自動化你們團隊進度怎麼樣?3、你們自動化框架應用得如何?
  • python 爬蟲之selenium可視化爬蟲
    文章目錄前文回顧快速入門元素定位頁面操作等待方式擴展程序加載私信小編01即可獲取Python大量資料之所以把selenium爬蟲稱之為可視化爬蟲主要是相較於前面所提到的幾種網頁解析的爬蟲方式selenium爬蟲主要是模擬人的點擊操作selenium驅動瀏覽器並進行操作的過程是可以觀察到的就類似於你在看著別人在幫你操縱你的電腦,類似於別人遠程使用你的電腦當然了,selenium也有無界面模式快速入門
  • Python模塊NumPy,Pandas,matplotlib的中文文檔
    今天比較忙所以不能寫長文了作為一名數據工程師需要熟練掌握python中的這些numpy,matplotlib,pandas,sklearn,seaborn,statsmodel.模塊但是由於這些模塊的文檔都是英文的可能一些英文不好的同學學起來會比較的困難,所以我從網上給大家找到一些中文的文檔
  • python-自動化測試工具入門-selenium的操作介紹
    三個需要準備的東西1,谷歌瀏覽器2,瀏覽器的驅動3,selenium谷歌的下載https://www.so.com/s?=谷歌瀏覽器谷歌驅動chromdriverpython包的安裝pip install selenium使用階段谷歌瀏覽器,快捷方式的路徑添加到環境變量驅動添加到Script目錄中無頭瀏覽器的使用示例代碼from selenium import webdriverfrom selenium.webdriver.chrome.options import
  • 學會Python+Selenium,分分鐘搭建Web自動化框架!
    用python+selenium實現UI自動化測試,要有一些HTML和xpth的基礎,當然python基礎一定是必須要會的。筆者建議花點時間了解下相關基礎知識,不至於後面發懵。一、什麼是selenium?selenium是個強大的工具集。支持快速開發測試自動化,支持在多種瀏覽器平臺上執行測試。
  • Python爬蟲之Selenium的使用
    安裝pip install selenium二、Chromedriver的介紹Chromedriver 也是一個能夠被selenium=r&34;,   options=option)  34;https://www.baidu.com/&39;baidu.png& 保存當前網頁的截圖driver.close()  34;E:\python學習\python爬蟲\chromedriver.exe& 瀏覽器窗口最大化
  • Selenium2+python自動化1-環境搭建
    接下來的內容以selenium2為主環境組合初學者最佳環境:python2.7+selenium2+Firefox46以下版本喜歡嘗新的環境:python3.6+selenium3+Firefox47以上版本我的環境windows10 64位
  • 第一章:Python Selenium 自動化測試入門之漫談
    : selenium1.0包括三個模塊:selenium IDE(一個FireFox瀏覽器的插件,可以錄製用戶的基本操作,生成測試用例,可以在瀏覽器中回放錄製的測試用例,也可以將測試用例轉換成其他的程式語言的自動化腳本); selenium RC(RC就是remote control的縮寫,是用來模擬瀏覽器的,主要測試web網頁,支持多種平臺和多種瀏覽器以及多種程式語言); selenium
  • Python+Selenium自動化測試教程連載(1)
    2.Python版本介紹目前在用的python穩定版有2.7和3.8。2.7版本作為老版本馬上就不再維護了,一般選擇python3.8最新或較新版本就可以。Python+Selenium環境搭建為了運行Selenium腳本,這裡選擇python語言,所以需要準備內容如下: Python環境+selenium模塊+瀏覽器驅動+瀏覽器1.python環境
  • 第三章:Python Selenium 自動化測試之Python基礎
    安裝selenium第三方庫:在命令臺窗口下輸入命令pip install selenium 安裝 ,在安裝selenium的庫的時候可能會遇到一些無法安裝的問題,可以在評論留言,我們一起探討。Python基礎(參考菜鳥教程)Python 中文編碼問題這個問題存在於python2.x版本中,python2 對中文的支持不太好,python2中默認的編碼格式是 ASCII 格式,在沒修改編碼格式時無法正確列印漢字,所以在讀取中文時會報錯。
  • selenium headless模式開發
    背景最近開發一個UI測試項目,使用selenium開發. 由於我們要測試的頁面需要從一臺固定的伺服器才能訪問.此時有幾種方案1.在我們的PC機上使用跑python和chrome,在伺服器上啟動代理,讓PC機器的chrome通過代理訪問2.在伺服器上跑python,在PC機上跑chrome.
  • Python Selenium設計模式-POM
    前言本文就python selenium自動化測試實踐中所需要的POM設計模式進行分享,以便大家在實踐中對POM的特點、應用場景和核心思想有一定的理解和掌握。為什麼要用POM基於python selenium2開始UI級自動化測試並不是多麼艱巨的任務。**只需要定位到元素,執行對應的操作即可。
  • 自製Python 腳本抓取文庫資料,selenium+PhantomJS 爬蟲初接觸
    大家都應該有需要在百度文庫下載文檔的經歷,或者充值成為微挨批(VIP),或者在某寶買券去下載,也有的勤勤懇懇的上傳文章,慢慢的攢下載券,當然也有一點一點的複製粘貼。。。或者也有比較喜歡走捷徑的,去什麼什麼文庫等網站下載!
  • Python+Selenium自動化測試 第一講 Selenium安裝
    本文適用於已經安裝python環境的小夥伴操作# selenium的安裝這裡我們使用國內鏡像源pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple下載安裝谷歌瀏覽器https:
  • python selenium中文文檔-頁面元素定位
    from selenium.webdriver.common.by import Bydriver.find_element(By.XPATH, '//button[text()="Some text"]')driver.find_elements(By.XPATH
  • 學python,不要著急找教程,你讀過python文檔了嗎?
    學python,你讀過python文檔嗎?隨著人工智慧和大數據的火熱,python被推上了炙手可熱的地步,很多朋友們開始學python,然後在網上找各種各樣的教程,其實python官網已經有很好的官網教程了,只要你按照文檔的步驟慢慢學習,你就能學會python。
  • Python爬蟲之selenium可視化爬蟲!最詳細的教程
    當然了,selenium也有無界面模式快速入門selenium 是一套完整的web應用程式測試系統,包含了測試的錄製(selenium IDE),編寫及運行(Selenium Remote Control)和測試的並行處理