python selenium怎么配置IE和chrome的代理,求代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python selenium怎么配置IE和chrome的代理,求代码相关的知识,希望对你有一定的参考价值。
参考技术A 请参考这个代码#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import print_function
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
def create_proxyauth_extension(proxy_host, proxy_port,
proxy_username, proxy_password,
scheme='http', plugin_path=None):
"""Proxy Auth Extension
args:
proxy_host (str): domain or ip address, ie proxy.domain.com
proxy_port (int): port
proxy_username (str): auth username
proxy_password (str): auth password
kwargs:
scheme (str): proxy scheme, default http
plugin_path (str): absolute path of the extension
return str -> plugin_path
"""
import string
import zipfile
if plugin_path is None:
plugin_path = '/tmp/vimm_chrome_proxyauth_plugin.zip'
manifest_json = """
"version": "1.0.0",
"manifest_version": 2,
"name": "Chrome Proxy",
"permissions": [
"proxy",
"tabs",
"unlimitedStorage",
"storage",
"<all_urls>",
"webRequest",
"webRequestBlocking"
],
"background":
"scripts": ["background.js"]
,
"minimum_chrome_version":"22.0.0"
"""
background_js = string.Template(
"""
var config =
mode: "fixed_servers",
rules:
singleProxy:
scheme: "$scheme",
host: "$host",
port: parseInt($port)
,
bypassList: ["foobar.com"]
;
chrome.proxy.settings.set(value: config, scope: "regular", function() );
function callbackFn(details)
return
authCredentials:
username: "$username",
password: "$password"
;
chrome.webRequest.onAuthRequired.addListener(
callbackFn,
urls: ["<all_urls>"],
['blocking']
);
"""
).substitute(
host=proxy_host,
port=proxy_port,
username=proxy_username,
password=proxy_password,
scheme=scheme,
)
with zipfile.ZipFile(plugin_path, 'w') as zp:
zp.writestr("manifest.json", manifest_json)
zp.writestr("background.js", background_js)
return plugin_path
proxyauth_plugin_path = create_proxyauth_extension(
proxy_host="proxy.crawlera.com",
proxy_port=8010,
proxy_username="fea687a8b2d448d5a5925ef1dca2ebe9",
proxy_password=""
)
co = Options()
co.add_argument("--start-maximized")
co.add_extension(proxyauth_plugin_path)
driver = webdriver.Chrome(chrome_options=co)
driver.get("wser.org/")
Python+Selenium笔记:配置谷歌+IE环境
#有的时候可能要访问外国的网站下载资料或工具,这时可能出现各种问题,例如谷歌人机验证显示不了、网站打不开等,建议使用一个FQ软件
(一) 设置IE
(1) http://docs.seleniumhq.org/download/ 下载IEDriverServer。(建议下载32位的,64位的驱动执行send_keys很慢,可以都下载感受下)
(2) 解压到任意目录,将路径添加到PATH变量中
(3) Internet选项中,下面4个要么都启用保护模式,要么都不启用。
(4) IE默认缩放设置为100%(已经是100%可忽略这步)
(5) 启动IDE(如果设置IEDriverServer之前已经启动,需要重启)
(6) 修改代码
将上一篇中的下面三行去掉:
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
firefox = FirefoxBinary(r"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe")
driver = webdriver.Firefox(firefox_binary=firefox)
修改为:
driver = webdriver.Ie()
(7) 如果是IE11,还需要在注册表(仅限于IE11,其他版本不需要)
HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BFCACHE
新建DWORD 名称设置为 iexplore.exe 值设置为 0
完成设置后的效果如下图(如果找不到FEATURE_BFCACHE,就新建一个项):
(8) 官方文档中关于IE11浏览器设置的说明(英文不好略坑,还好有翻译软件,连猜带蒙)
https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver
(9) 如果是WIN 10,还要把下面的设置100%
(10) IE启动的时候会弹出下面的提示,看字面意思,这个不是错误,只是说WebDriver服务器启动。
(二) 设置谷歌
(1) http://docs.seleniumhq.org/download/ 下载Google Chrome Driver。
(2) 解压到任意目录,将路径添加到PATH变量中
(3) 启动IDE(如果设置chromedriver之前已经启动,需要重启)
(4) 修改代码
将上一篇中的下面三行去掉:
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
firefox = FirefoxBinary(r"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe")
driver = webdriver.Firefox(firefox_binary=firefox)
修改为:
driver = webdriver.Chrome()
以上是关于python selenium怎么配置IE和chrome的代理,求代码的主要内容,如果未能解决你的问题,请参考以下文章
Python3+Selenium2完整的自动化测试框架实现:IE和Chrome浏览器驱动配置
win10selenium之Firefox,Chrome,IE对应webdriver的安装配置
Python+Selenium基础篇之3-打开和关闭IE/Chrome浏览器
目前在用selenium python做自动化测试,使用IE时Send_keys()写入时几秒钟蹦一个字符,请问如何加快速度呢