python360安全浏览器_使用python3.7 的pycharm selenium自动化测试中启动360浏览器、360极速浏览器的方法...

写于:2019.01.02(实测日)

一、下载360浏览器或360极速浏览器的Chrome驱动

这里最好下载去官网下载最新版的浏览器,版本越新,越利于安装。在做自动化测试中不可能只用360浏览器,也会用到谷歌的浏览器。下载最新版的浏览器利于两者兼容使用。实际运行过程中,其实低版本的Chrome驱动也可以带动高版本的谷歌浏览器,但不一定能带动360浏览器,所以最新本很重要。这个本人已经实测过,同时用一个驱动可以正常运行360、360极速、谷歌浏览器。当然只要是基于Chrome内核的浏览器方法都是一样的。

特别说明:基于ie的请替换其中的chrome方法为ie,如果内核是其他品牌方法都是一样的,需要注意内核版本和内核品牌即可。

【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浏览器

---------------------

作者:像风一样的自由