python+selenium Remote 啟動firefox報錯總結


#coding=utf-8
from selenium.webdriver import Remote

dr = Remote(command_executor='http://127.0.0.1:4444/wd/hub',
            desired_capabilities={'platform':'ANY',
                                'browserName':'firefox',
                                'version':'',
                                'javascriptEnabled':True
                                }
            )
dr.get("https://www.baidu.com")
dr.find_element_by_id("kw").send_keys("grid")
dr.find_element_by_id("su").click()
print("ok")
dr.quit()

這一段代碼一直報錯,也不知道原因,網上查看各種方法驗證之后都不行,改來改去,最后我也不知道那種方法改好的,只能把所有遇到問題記錄下來。報錯當時也沒有截圖,只能回憶列一下大概的報錯信息:

1、第一次排查,發現瀏覽器的安裝路徑沒有放到環境變量中,更正后,報錯

2、有網友的解決辦法是:打開ie-設置-internet選項-局域網lan設置-代理服務器。這一項不勾選。這個位置我的ie本來也沒勾選。所以此解決方法不行

3、錯誤提示:The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/ge... The latest version can be downloaded fromhttps://github.com/mozilla/ge...

下載之后將geckodriver解壓放在安裝目錄,加入path環境變量后運行依然報錯

4、error [10061]的報錯。忘記運行selenium server了

5、運行時瀏覽器被重復打開多次報錯,

解決方法是:代碼中添加‘marionette’:False    運行成功。

 

以上就是我遇到的問題,具體的報錯信息記不清楚了,大概記一下,也算是做個教訓。

以后遇到報錯,直接截圖,問題解決后整理歸檔。

 

郁悶的是:問題解決了,我卻不知道到底是那種方法解決的。

 

總結:

python+selenium 使用Remote啟動瀏覽器:

1、先啟動selenium server

2、更改代碼如下

#coding=utf-8
from selenium.webdriver import Remote

dr = Remote(command_executor='http://127.0.0.1:4444/wd/hub',
            desired_capabilities={'platform':'ANY',
                                'browserName':'firefox',
                                'version':'',
                                'javascriptEnabled':True,
                                'marionette':False 
                                }
            )
dr.get("https://www.baidu.com")
dr.find_element_by_id("kw").send_keys("grid")
dr.find_element_by_id("su").click()
print("ok")
dr.quit()

‘marionette’:False    marionette是python客戶端允許運行遠程控制基於gecko的瀏覽器或設備運行一個marionette服務器,包括桌面firefox和firefox os。該參數為firefox特用。

上述關於marionette解釋,參考於蟲師selenium2自動化測試的書,在p242

 


免責聲明!

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



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