python selenium中如何测试360等基于chrome内核的浏览器

Posted 点影

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python selenium中如何测试360等基于chrome内核的浏览器相关的知识,希望对你有一定的参考价值。

转自:https://blog.csdn.net/five3/article/details/50013159

 

 

直接上代码,注意是基于chrome内核的浏览器,基于ie的请替换其中的chrome方法为ie,但自己未尝试过,如果有结果可以告知!

 

from selenium.webdriver.chrome.options import Options
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

__browser_url = r‘C:UsersAdministratorAppDataRoaming360se6Application360se.exe‘ ##360浏览器的地址
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()


上面是直接使用,如果你觉得在测试框架中这么用不方便动态使用的话,可以做一层封装;

 

1、C:Python27Libsite-packagesselenium-2.48.0-py2.7.eggseleniumwebdriver这个目录中的__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‘%s360ChromeChromeApplication360chrome.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浏览器

 








































以上是关于python selenium中如何测试360等基于chrome内核的浏览器的主要内容,如果未能解决你的问题,请参考以下文章

如何使用selenium打开360浏览器

selenium怎么打开遨游浏览器和360浏览器以及QQ浏览器、百度浏览器

如何在一个选项卡中使用 Selenium 和 Python 逐一运行测试?

利用Selenium自动化测试android wap页

使用 python + selenium 进行测试时如何包含电子二进制文件

Python+selenium自动化测试之浏览器基础操作