• 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:UsersAdministratorAppDataRoaming360se6Application360se.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: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浏览器


    ---------------------
    作者:像风一样的自由
    来源:CSDN
    原文:https://blog.csdn.net/five3/article/details/50013159
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    iOS开发UI篇—字典转模型
    iOS开发UI篇—懒加载
    iOS开发UI篇—九宫格坐标计算
    iOS开发UI篇—简单的浏览器查看程序
    iOS开发UI篇—transframe属性(形变)
    iOS开发UI篇—Button基础
    OS开发UI基础—手写控件,frame,center和bounds属性
    Foundation框架—集合
    Foundation框架—字符串
    uvalive 4255 Guess(拓扑排序)
  • 原文地址:https://www.cnblogs.com/chun-xiaolin001/p/10211617.html
Copyright © 2020-2023  润新知