【原创】selenium配置代理(账密、隧道)

简介: 【原创】selenium配置代理(账密、隧道)
本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!

selenium配置代理(账密、隧道)

环境

  • win10
  • Python3.9
  • selenium3.141.0

selenium 配置demo

defcreate_proxy_auth_extension(proxy_host, proxy_port,

                               proxy_username, proxy_password,

                               scheme='http', plugin_path=None):

   ifplugin_pathisNone:

       plugin_path=r'./proxy_auth_plugin.zip'

   manifest_json="""

       {

           "version": "1.0.0",

           "manifest_version": 2,

           "name": "Abuyun 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,

   )

   withzipfile.ZipFile(plugin_path, 'w') aszp:

       zp.writestr("manifest.json", manifest_json)

       zp.writestr("background.js", background_js)

   returnplugin_path

proxy_auth_plugin_path=create_proxy_auth_extension(

   proxy_host=proxyHost,

   proxy_port=proxyPort,

   proxy_username=proxyUser,

   proxy_password=proxyPass)

option=webdriver.ChromeOptions()

option.add_extension(proxy_auth_plugin_path)

效果

二级标题

效果

资源下载

https://download.csdn.net/download/qq_38154948/87511999


本文仅供学习交流使用,如侵立删!


相关文章
|
8月前
|
Web App开发 Java 测试技术
selenium怎么使用代理IP
selenium怎么使用代理IP
185 0
|
8月前
|
Web App开发 人工智能 测试技术
软件测试/人工智能|一文教你配置selenium环境
软件测试/人工智能|一文教你配置selenium环境
|
6月前
|
数据采集 安全 Java
Java Selenium WebDriver:代理设置与图像捕获
Java Selenium WebDriver:代理设置与图像捕获
|
6月前
|
监控 Java 测试技术
确保Selenium WebDriver配置与测试环境兼容
确保Selenium WebDriver配置与测试环境兼容
|
8月前
|
Web App开发 iOS开发 Python
Selenium安装与配置
Selenium是一个用于Web应用程序测试的自动化工具。它直接运行在浏览器中,模拟真实用户的操作。Selenium支持多种主流浏览器,如IE、Mozilla Firefox、Safari、Google Chrome、Opera和Edge等。在爬取数据的时候对于需要登录后才能爬取的情况往往可以利用Selenium来进行模拟登录,登录后进行数据的获取。这里先介绍Selenium的安装与配置,实现通过python来驱动浏览器进行操作。
177 2
|
8月前
|
Java 测试技术
[软件自动化测试] selenium java环境配置
介绍了包括选择Gradle构建,关闭Gradle Wrapper的默认下载,修改`gradle-wrapper.properties`以使用腾讯云镜像,以及更新`build.gradle`文件添加国内仓库和Selenium依赖。在测试驱动部分,创建了一个简单的JUnit测试用例,展示了如何初始化Edge浏览器并访问网站。运行测试时可能出现关于CDP版本不匹配的警告,可以通过升级Selenium依赖中的CDP版本来解决。推荐根据[Selenium库网页](https://search.maven.org/search?q=g:org.seleniumhq.selenium)提供的版本信息进行升级
628 6
|
8月前
|
机器学习/深度学习 Java 数据挖掘
selenium的配置与基本使用(1),2024年最新网易Python面试必问
selenium的配置与基本使用(1),2024年最新网易Python面试必问
|
8月前
|
Web App开发 Python Windows
Python Selenium 驱动下载与配置使用(详细流程)
Python Selenium 驱动下载与配置使用(详细流程)
636 0
|
8月前
|
Web App开发 Linux Python
Linux下配置并使用Selenium与Python
Linux下配置并使用Selenium与Python
318 0
|
数据采集 JavaScript 前端开发
动态内容抓取指南:使用Scrapy-Selenium和代理实现滚动抓取
在传统的网络爬虫中,静态网页内容很容易抓取,但对于通过JavaScript加载的动态内容,通常需要借助浏览器进行模拟访问。Scrapy-Selenium是一款结合了Scrapy和Selenium功能的库,可以实现模拟浏览器行为,从而实现抓取动态内容的目的。
537 0
动态内容抓取指南:使用Scrapy-Selenium和代理实现滚动抓取

热门文章

最新文章