zoukankan      html  css  js  c++  java
  • selenium与360极速浏览器driver配置

    1)下载浏览器对应的driver,浏览器版本与driver对应关系,网址:http://www.cnblogs.com/JHblogs/p/7699951.html;driver下载地址:http://chromedriver.storage.googleapis.com/index.html 将下载的.exe文件放置在python根目录即可;

    2)360极速浏览器driver配置:

    直接上代码,注意是基于chrome内核的浏览器,基于ie的请替换其中的chrome方法为ie,但自己未尝试过,如果有结果可以告知!(来源:http://blog.csdn.net/five3/article/details/50013159)

    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() 
     

    这样就跟调用其它浏览器的代码一样简介

    必须要安装了chromedriver.exe文件,必须要安装了chromedriver.exe文件,必须要安装了chromedriver.exe文件以及360浏览器

  • 相关阅读:
    CentOS 6、CentOS 7系统设置防火墙及使用区别
    HAProxy 使用小记
    oracle快速创建用户、imp/exp导入导出dmp文件
    $@和$*的作用和区别
    根据命令行输出key-value键值对
    mysql备份
    mysql大表归档后清理数据
    redis数据修复记录-1
    redis数据修复记录-2
    调整mysql路径
  • 原文地址:https://www.cnblogs.com/lansan0701/p/8177962.html
Copyright © 2011-2022 走看看