python3.7--pycharm selenium自啟360瀏覽器/360極速瀏覽器方法


寫於: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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

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



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