`
zhimaruanjian
  • 浏览: 32716 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

芝麻HTTP:设置Selenium+Chrome代理

 
阅读更多

微博登录限制了错误次数···加上Cookie大批账号被封需要从Cookie池中 剔除被封的账号··· 需要使用代理··· 无赖百度了大半天都是特么的啥玩意儿???结果换成了 Google手到擒来 分分钟解决(那么问题来了?百度除了卖假药还会干啥?)

Selenium+Chrome认证代理不能通过options处理。只能换个方法使用扩展解决

原文地址:https://stackoverflow.com/questions/29983106/how-can-i-set-proxy-with-authentication-in-selenium-chrome-web-driver-using-pyth#answer-30953780 (Stack Overflow 这是个好地方啊)

# -*- coding: utf-8 -*-
# @Time    : 2017/11/15 9:50
# @Author  : 哎哟卧槽
# @Site    : 
# @File    : pubilc.py
# @Software: PyCharm

import string
import zipfile

def create_proxyauth_extension(proxy_host, proxy_port,
                               proxy_username, proxy_password,
                               scheme='http', plugin_path=None):
    """代理认证插件

    args:
        proxy_host (str): 你的代理地址或者域名(str类型)
        proxy_port (int): 代理端口号(int类型)
        proxy_username (str):用户名(字符串)
        proxy_password (str): 密码 (字符串)
    kwargs:
        scheme (str): 代理方式 默认http
        plugin_path (str): 扩展的绝对路径

    return str -> plugin_path
    """
    

    if plugin_path is None:
        plugin_path = '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

 使用方法:

from selenium import webdriver
from common.pubilc import create_proxyauth_extension

proxyauth_plugin_path = create_proxyauth_extension(
    proxy_host="XXXXX.com",
    proxy_port=9020,
    proxy_username="XXXXXXX",
    proxy_password="XXXXXXX"
)


co = webdriver.ChromeOptions()
# co.add_argument("--start-maximized")
co.add_extension(proxyauth_plugin_path)


driver = webdriver.Chrome(executable_path="C:\chromedriver.exe", chrome_options=co)
driver.get("http://ip138.com/")
print(driver.page_source)

 无认证代理:

options = webdriver.ChromeOptions()
options.add_argument('--proxy-server=http://ip:port')  
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe", chrome_options=0ptions)
driver.get("http://ip138.com/")
print(driver.page_source)

 

分享到:
评论

相关推荐

    Java:Selenium2+Java自动化测试实战.docx

    Java:Selenium2+Java自动化测试实战Java:Selenium2+Java自动化测试实战Java:Selenium2+Java自动化测试实战Java:Selenium2+Java自动化测试实战Java:Selenium2+Java自动化测试实战Java:Selenium2+Java自动化测试...

    09-selenium+Chrome登陆豆瓣案例.py

    09_selenium+Chrome登陆...selenium+Chrome登陆豆瓣案例.py09_selenium+Chrome登陆豆瓣案例.py09_selenium+Chrome登陆豆瓣案例.py09_selenium+Chrome登陆豆瓣案例.py09_selenium+Chrome登陆豆瓣案例.py09_selenium+Ch

    python+selenium+chrome自动化测试工具

    最近在搭建python+selenium+chrome自动化测试,整理了相应的工具。 python版本是3.7.2 工具包含:chromedriver_win32 selenium-3.141.0.tar.gz PyInstaller-3.4.tar.gz 72.0.3626.109_chrome_installer.exe

    selenium+JAVA+chrome自动化测试demo

    【标题】"selenium+JAVA+chrome自动化测试demo"揭示了这个项目是关于使用Selenium WebDriver结合Java语言来实现Chrome浏览器的自动化测试。Selenium是一个强大的开源自动化测试框架,允许开发者编写可运行在多种...

    python+selenium+chrome设置geo经纬度地理位置并自动发布抖音视频

    下面将详细介绍如何通过Python结合Selenium和Chrome浏览器设置地理定位(即经纬度)来自动发布抖音视频。 首先,`selenium`是一个强大的Web自动化测试框架,它可以模拟真实用户的浏览器操作,如点击、滚动、填写...

    docker-selenium-chrome-ftp:提供Selenium+Chrome+anon FTP的Docker镜像

    docker-selenium-chrome-ftp 对于某些任务,例如文件上传或开发浏览器扩展,您需要在 Selenium 容器中本地提供文件。 最好的方法是使用共享卷。 此映像的存在是为了帮助在某些环境中解决此问题(例如,Wercker,它...

    selenium webdriver+chrome插件.zip

    【标题】"selenium webdriver+chrome插件.zip" 涉及的核心知识点是Selenium WebDriver,特别是它在Chrome浏览器中的应用以及与Firefox的交互。这个压缩包包含了Selenium IDE的Chrome插件,以及对应的WebDriver驱动...

    Testng+selenium+Maven+WebDriver+Java+eclipse 实现禅道登录,百度搜索

    1、Testng+selenium+Maven+WebDriver+Java+eclipse 实现禅道登录,百度搜索。 2、eclipse需安装Testng+selenium+Maven 3、下载对应版本的WebDriver驱动。Chrome驱动下载地址...

    终极自动化测试环境搭建:Selenium+Eclipse+Junit+TestNG+Python

    终极自动化测试环境搭建:Selenium+Eclipse+Junit+TestNG+Python 本文旨在指导读者搭建一个终极自动化测试环境,利用 Selenium+Eclipse+Junit+TestNG+Python 实现自动化测试。下面是详细的搭建过程: 一、安装 JDK...

    Youth+Selenium+Chrome.rar

    Selenium+Chrome爬取中国青年网新闻内容,内含代码解释文档;该文件,主要是利用Selenium+Chrome爬取中国青年网的新闻链接,插入数据库,并根据链接爬取链接下的新闻内容再插入到数据库中,数据库使用的是MySQL,在...

    python+selenium+unittest环境搭建1

    Python+Selenium+Unittest环境搭建详解 Python+Selenium+Unittest环境搭建是自动化测试中的一种重要组件,本文将详细介绍如何搭建Python+Selenium+Unittest环境,并解决在搭建过程中可能遇到的问题。 一、安装...

    基于python+pytest+Selenium+allure,完成web自动化测试框架的搭建.zip

    基于python+pytest+Selenium+allure,完成web自动化测试框架的搭建,并可以在jenkins上持续集成,应用于课堂派web自动化测试项目中,取得良好效果 软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发...

    部署openEuler+python3+chrome+selenium环境

    ### 部署openEuler+python3+chrome+selenium环境 #### 一、环境配置与准备工作 在本文中,我们将详细介绍如何在openEuler操作系统上部署Python3、Chrome及Selenium环境,以便进行Web自动化测试。openEuler是一款...

    Python自动化测试实战篇(4)selenium+unttest+ddt实现自动化用例测试,模拟用户登陆点击交互测试

    在Python中,我们通常使用`selenium.webdriver`模块来与不同的浏览器(如Chrome、Firefox)进行交互。例如,我们可以创建一个WebDriver实例,打开一个特定的URL,然后通过find_element_by_*方法找到页面上的元素并...

    page_perf:使用 selenium + chrome API 衡量页面性能

    使用 WD.js 进行 Selenium 测试 获取 selenium 服务器并... 获取 Chrome 驱动程序,放入 PATH: : path= 启动 Selenium 服务器: java -jar /usr/bin/selenium-server-standalone-2.43.0.jar 运行测试:node app.js

    Selenium终极自动化测试环境搭建(一):Selenium+Eclipse+Junit+TestNG.docx

    Selenium 终极自动化测试环境搭建 Selenium 是一个功能强大且流行的自动化测试工具,广泛应用于 Web 应用程序的自动化测试中。下面是 Selenium 终极自动化测试环境搭建的详细步骤: 一、安装 JDK JDK 是 Java ...

    Python3+Selenium+Chrome实现自动填写WPS表单

      本文通过python3、第三方python库Selenium和谷歌浏览器Chrome,完成WPS表单的自动填写。 开发环境配置   python3的安装:略,网上都有教程。   Selenium的安装:在命令行输入pip3 install selenium并回车...

Global site tag (gtag.js) - Google Analytics