写于: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
版权声明:本文为博主原创文章,转载请附上博文链接!

python3.7--pycharm selenium自启360浏览器/360极速浏览器方法的更多相关文章

  1. Selenium调用使用360浏览器,QQ浏览器,遨游浏览器,猎豹浏览器,Chromium

    国产的360安全浏览器,360急速浏览器,QQ浏览器,遨游浏览器甚至新版还未上市的Edge浏览器都是基于Chrome浏览器的开源版本Chronium开发来的.所以360浏览器可以理解为一个定制的Chr ...

  2. python3 scrapy 使用selenium 模拟浏览器操作

    零. 在用scrapy爬取数据中,有写是通过js返回的数据,如果我们每个都要获取,那就会相当麻烦,而且查看源码也看不到数据的,所以能不能像浏览器一样去操作他呢? 所以有了-> Selenium ...

  3. Python3+RobotFramework+pycharm环境搭建

    我的环境为 python3.6.5+pycharm 2019.1.3+robotframework3.1.2 1.安装python3.x 略 之后在cmd下执行:pip  install  robot ...

  4. 如何使用python来模拟鼠标点击(将通过实例自动化模拟在360浏览器中自动搜索"python")

    一.准备工作: 安装pywin32,后面开发需要pywin32的支持,否则无法完成与windows层面相关的操作. pywin32的具体安装及注意事项: 1.整体开发环境: 基于windows7操作系 ...

  5. 【Python3爬虫】selenium入门

    selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Fire ...

  6. python3.6.5 + selenium +VS Code 运行报错:Unable to find a matching set of capabilities的解决

    在python3.6.5 + selenium +VS Code 环境中,在class的__init__ 方法初始化火狐浏览器时出现以下错误: 发生异常: selenium.common.except ...

  7. Python3.x:selenium获取iframe内嵌页面的源码

    Python3.x:selenium获取iframe内嵌页面的源码 前言 在一些网页中经常会看到ifrmae/frame标签,iframe是嵌入式框架一般用来在已有的页面中嵌入另一个页面,当一个元素在 ...

  8. Python3.x:Selenium+PhantomJS爬取带Ajax、Js的网页

    Python3.x:Selenium+PhantomJS爬取带Ajax.Js的网页 前言 现在很多网站的都大量使用JavaScript,或者使用了Ajax技术.这样在网页加载完成后,url虽然不改变但 ...

  9. 4、运行成功的Demo(PyCharm+Selenium)

    1.打开PyCharm,新建一个python.file,输入代码“from selenium import webdriver”报错的解决方法 (1)PyCharm没有找到正确的python,在“Fi ...

随机推荐

  1. 初步学习jquery学习笔记(四)

    Jquery HTML Jquery 捕获内容 什么是dom? DOM = Document Object Model(文档对象模型) 获取内容 text()获取所选元素的文本内容 html()获取所 ...

  2. Python笔记(二)

    python笔记 函数式编程 函数 函数是Python内建支持一种封装(将大段代码拆成函数) 通过函数的调用,可以将复制的任务分解. 函数式编程(Functional Programming) 计算机 ...

  3. hibernate-HQL连接查询 转载sincoolvip

    和SQL查询一样,HQL也支持各种各样的连接查询,如内连接.外连接 连接类型 HQL语法内连接 inner join 或者join迫切内连接 inner join fetch 或join fetch左 ...

  4. Linux普通用户无法使用sudo

    问题描述: jenkins执行发布脚本,因为使用的是jenkins用户,所以有些shell命令需要 sudo 来执行,导致报错. + sudo rm -rf /usr/share/nginx/html ...

  5. java复习(3)继承下

    一.抽象类 ------------------------------------- 1.抽象定义概述:抽象类时从多个事物中奖共性的,本质的内容抽取出来 例如:狼和狗共性都是犬科,犬科就是抽象出来的 ...

  6. 请求转发forward()和URL重定向redirect()的区别

  7. Git 生成.gitinore忽略文件

    Git  生成.gitinore忽略文件 CD到指定目录下: touch .gitinore .gitinore忽略文件 三种方法: # 以'#'开始的行,被视为注释.(#是注释的意思) # 忽略掉所 ...

  8. AutoLayout and Sizeclasses讲解

    iOS8和iPhone6发布已经过去蛮久了,广大的果粉终于迎来了大屏iPhone,再也不用纠结为大屏买三星舍苹果了…但是对于iOS开发人员来说,迎来了和Android开发开发一样的问题—>各种屏 ...

  9. TFS 由于服务器时钟设置可能不正确,无法更新数据。请与 Team Foundation Server 管理员联系。

    原因:这个问题是由于修改安装TFS服务器的系统时间而导致的,因为TFS的Source Control会根据签入时间做判断,如果后续签入的时间小于变更集的最新版本的时间,就会报这个错误 解决办法:首先将 ...

  10. sed 的用法

    sed 的语法: sed `样式命令` 文件 意思是:如果文件中的某一行符合”样式”,就执行指定的 sed 命令,如删除(d)或替换(s) “样式”使用一对//含括,表示寻找的意思.也可以指定数据行的 ...