Selenium啟動Firefox示例(python版)


目前做selenium自動化使用的主流語言分為java和python,前一篇為java版,本篇介紹python實現selenium啟動Firefox。

 

 1 #-*- coding:utf-8 -*-
 2 
 3 from selenium import webdriver
 4 from selenium.common.exceptions import NoSuchElementException, TimeoutException
 5 from selenium.webdriver.remote.webelement import WebElement
 6 from selenium.webdriver.support.ui import WebDriverWait  # available since
 7 from selenium.webdriver.common.keys import Keys
 8 
 9 from time import sleep
10 import os, time
11 
12 # driver = webdriver.Chrome("D:\Downloads\chromedriver.exe")
13 driver = webdriver.Firefox()
14 print u"加載驅動完成.."
15 driver.get("https://ww.baidu.com")  # 加載頁面
16 print u"加載頁面完成.."
17 
18 sleep(1)
19 
20 try:
21     assert u"百度一下" in driver.title
22     print ('Assertion baidu title pass.')
23 
24     elements = driver.find_elements_by_tag_name("input")
25 
26     for e in elements:
27         if e.get_attribute("type")=="text":
28             print e.text
29             e.send_keys("123456")
30             # print e.tag_name
31             # print e.location
32 except Exception as e:
33     print ('Assertion baidu title fail.', format(e))
34 
35 driver.maximize_window()  # 瀏覽器全屏顯示
36 driver.close()

 

注意:可能會遇到一些報錯 
1. geckodriver.exe沒有放到python安裝目錄下,這一類報錯。 
2. python demo.py 執行后,找不到文件,說明沒有通過cd命令切換到demo.py所在的文件夾路徑。 
3.打開火狐瀏覽器了,但是沒有獲取到url地址 
4.火狐瀏覽器打開且進入百度網頁后關閉火狐瀏覽器時,提示瀏覽器遇到一個錯誤,停止運行了

針對 問題 3、4,我這邊是通過降低Firefox瀏覽器的版本(如果遇到一下這類問題或相關瀏覽器調用問題,可升級或降低 selenium 和 firefox 的版本 進行兼容)

總結: 
通過上面代碼,和本文,基本了解了如何打開和關閉瀏覽器。如果想打開IE或者Chrome瀏覽器,也需要下載對應瀏覽器的driver.exe文件

① 在chrome 下運行腳本,需要將chromedriver.exe 放在chrome瀏覽器安裝目錄下

(同時設置用戶環境變量path:C:\Users\xxxxxx\AppData\Local\Google\Chrome\Application;)

②2 在ie 下運行腳本,需要將IEDriverServer.exe 放在ie瀏覽器安裝目錄下

(同時設置用戶環境變量path:C:\Program Files\Internet Explorer ),如果在調用瀏覽器遇到瀏覽器保護模式問題,可打開Ie瀏覽器–工具–Internet選項–安全–internet/本地intarnet/受信任的站點/受限制站點中的 啟用保護模式全部勾選或者全部不選的勾去掉

③ 在firefox下運行腳本,直接調用(默認Python安裝路徑下,例如我的路徑為:D:\Program Files (x86)\Python36\geckdriver.exe)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM