寫於:2019.01.02(實測日)
參考文檔:https://blog.csdn.net/five3/article/details/50013159
一、下載360瀏覽器或360極速瀏覽器的Chrome驅動
這里最好下載去官網下載最新版的瀏覽器,版本越新,越利於安裝。在做自動化測試中不可能只用360瀏覽器,也會用到谷歌的瀏覽器。下載最新版的瀏覽器利於兩者兼容使用。實際運行過程中,其實低版本的Chrome驅動也可以帶動高版本的谷歌瀏覽器,但不一定能帶動360瀏覽器,所以最新本很重要。這個本人已經實測過,同時用一個驅動可以正常運行360、360極速、谷歌瀏覽器。當然只要是基於Chrome內核的瀏覽器方法都是一樣的。
特別說明:基於ie的請替換其中的chrome方法為ie,如果內核是其他品牌(pycham selenium 支持的)方法都是一樣的,需要注意內核版本和內核品牌即可。
谷歌驅動下載地址:
http://npm.taobao.org/mirrors/chromedriver/
http://chromedriver.storage.googleapis.com/index.html
【Selenium】Chromedriver版本(更新至v2.43)與Chrome版本(更新至70)映射關系
Chromedriver版本 支持的Chrome版本
v2.43 v69-71
v2.42 v68-70
v2.41 v67-69
v2.40 v66-68
v2.39 v66-68
v2.38 v65-67
v2.37 v64-66
v2.36 v63-65
v2.35 v62-64
v2.34 v61-63
v2.33 v60-62
v2.32 v59-61
v2.31 v58-60
v2.30 v58-60
v2.29 v56-58
v2.28 v55-57
v2.27 v54-56
v2.26 v53-55
v2.25 v53-55
v2.24 v52-54
v2.23 v51-53
v2.22 v49-52
v2.21 v46-50
v2.20 v43-48
v2.19 v43-47
v2.18 v43-46
v2.17 v42-43
v2.13 v42-45
v2.15 v40-43
v2.14 v39-42
v2.13 v38-41
v2.12 v36-40
v2.11 v36-40
v2.10 v33-36
v2.9 v31-34
v2.8 v30-33
v2.7 v30-33
v2.6 v29-32
v2.5 v29-32
v2.4 v29-32
代碼如下:
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
__browser_url = r'C:\Users\Administrator\AppData\Roaming\360se6\Application\360se.exe' ##360瀏覽器的地址 ##如果啟用的是360極速瀏覽器,改360se.exe為360Chrome.exe(原因你懂得),前面是路徑,這個你也懂得。
chrome_options = Options()
chrome_options.binary_location = __browser_url
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get('http://www.baidu.com')
driver.find_element_by_id("kw").send_keys("seleniumhq" + Keys.RETURN)
time.sleep(3)
driver.quit()
說明:實際運行過程中會報錯,但卻可以正常執行所有的命令,這個報錯信息無關緊要,只是提示您不是正經的Chrome驅動而已。山寨也很強大有木有?
下面的方法我還沒實測過,不過分享一下還是可以的
上面是直接使用,如果你覺得在測試框架中這么用不方便動態使用的話,可以做一層封裝;
1、C:\Python27\Lib\site-packages\selenium-2.48.0-py2.7.egg\selenium\webdriver這個目錄中的__init__.py文件添加一行
from .chrome360.webdriver import WebDriver as Chrome360
2、同樣在該目錄下添加一個目錄:chrome360,其下新建2個文件,__init__.py文件可以為空,webdriver.py文件內容如下:
from selenium.webdriver import Chrome as ChromeWebdriver
from selenium.webdriver.chrome.options import Options
import os
class WebDriver(ChromeWebdriver):
def __init__(self, b360bin=None, executable_path="chromedriver", port=0,
chrome_options=None, service_args=None,
desired_capabilities=None, service_log_path=None):
if b360bin:
self.bin = b360bin
else:
self.bin = r'%s\360Chrome\Chrome\Application\360chrome.exe' % os.getenv('LOCALAPPDATA') ##你也可以讀注冊表來獲取360的安裝位置
chrome_options = Options()
chrome_options.binary_location = self.bin
ChromeWebdriver.__init__(self, executable_path, port,
chrome_options, service_args,
desired_capabilities, service_log_path)
這樣我們就可以在webdriver對象中直接調用,方法如下:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome360()
driver.get('http://www.baidu.com')
driver.find_element_by_id("kw").send_keys("seleniumhq" + Keys.RETURN)
time.sleep(3)
driver.quit()
這樣就跟調用其它瀏覽器的代碼一樣簡介
PS:同樣你還可以做一個py的安裝補丁包,這樣在搭建環境的時候,同時安裝上這個補丁包就直接可以使用了。
必須要安裝了chromedriver.exe文件,必須要安裝了chromedriver.exe文件,必須要安裝了chromedriver.exe文件以及360瀏覽器
---------------------
作者:像風一樣的自由
來源:CSDN
原文:https://blog.csdn.net/five3/article/details/50013159
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
