selenium 使用ip代理报错 unknown error: net::ERR_TUNNEL_CONNECTION_FAILED 解决办法

这篇具有很好参考价值的文章主要介绍了selenium 使用ip代理报错 unknown error: net::ERR_TUNNEL_CONNECTION_FAILED 解决办法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述

在使用 selenium 框架作为爬虫框架进行内容爬取时,难免会用到 ip 代理池。第一次使用 selenium 的 --proxy-server 参数进行代理访问时,我遇到了如下报错:

selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_TUNNEL_CONNECTION_FAILED

报错原因

在 selenium 框架中想使用 ip 代理的方式访问 url,必须先安装selenium-wire 模块,再从 seleniumwire 导入 webdriver 后使用。否则就会报上面的错误。安装方式:

pip install selenium-wire

使用方法

注意:一定要从 seleniumwire 引入 webdriver文章来源地址https://www.toymoban.com/news/detail-509829.html

#!/usr/bin/python
# -*- coding: utf-8 -*-

# 想使用 ip 代理,必须先安装 selenium-wire 模块,再从 seleniumwire 导入 webdriver
# 否则报错:selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_TUNNEL_CONNECTION_FAILED
from seleniumwire import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import By
import random
import time

CHROMEDRIVER_PATH = './chromedriver' # Chrome 驱动存放位置

if __name__ == '__main__':
    """使用无界面模式及 IP 代理模式访问 URL"""

    # Options
    options = webdriver.ChromeOptions()
    options.add_argument('--headless') # 开启无界面模式
    options.add_argument('--disable-gpu') # 禁用显卡
    options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片
    options.add_argument("--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36") # 替换UA

	# 此处替换成自己的 IP 代理池
    proxy_arr = [
        '--proxy-server=http://223.112.174.62:9091',
        '--proxy-server=http://183.239.61.167:9091'
    ]
    proxy = random.choice(proxy_arr) # 随机选择一个代理
    options.add_argument(proxy) # 添加代理

    options.add_experimental_option("excludeSwitches", ["enable-automation"])
    options.add_experimental_option("useAutomationExtension", False)
    service = ChromeService(executable_path=CHROMEDRIVER_PATH)
    driver = webdriver.Chrome(service=service, chrome_options=options)

    driver.get("https://www.csdn.net/") # 访问 URL
    time.sleep(3)

	# 查找 ID
    csdn_title = driver.find_element(By.XPATH, '//*[@id="csdn-toolbar"]/div/div/div[1]/div/a/img').get_attribute("title")
    print(csdn_title)

    driver.quit() # 退出

到了这里,关于selenium 使用ip代理报错 unknown error: net::ERR_TUNNEL_CONNECTION_FAILED 解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium怎么使用代理IP

    Selenium 是一个自动化测试框架,用于测试 Web 应用程序的功能性。它支持多个编程语言(如Java,Python,C#等)并且可以在操作系统和不同浏览器上运行测试。Selenium 可以模拟用户在浏览器中的操作,包括点击、输入文本、选择下拉选项等。它可以用于执行各种测试任务,如功

    2024年02月14日
    浏览(38)
  • 如何利用selenium使用代理IP?

    大家好,今天我们将讨论如何使用Selenium来使用HTTP代理。 Selenium是一种用于自动化浏览器的工具,可以用于模拟用户行为,例如访问网站、填写表单、单击按钮等,也可以使用Selenium和HTTP代理来模拟真实用户行为,绕过网站反爬虫机制,以及保护我们的隐私。 那么,如何使用

    2024年02月11日
    浏览(44)
  • 怎么使用selenium设置代理ip访问网站

    使用Selenium设置代理IP可以帮助我们模拟不同地区的访问,在做爬虫或者数据采集时非常有用。下面是使用Selenium设置代理IP的详细教程: 1. 安装Selenium和WebDriver Selenium是python编写的第三方库,可以通过pip install selenium命令进行安装。同时,需要安装对应的WebDriver,根据使用的浏

    2024年02月16日
    浏览(36)
  • selenium使用代理IP,今日头条公司面试问题

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新Python全套学习资料》,初

    2024年04月23日
    浏览(31)
  • python-selenium ”selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find

    1、确认当前的Google Chrome版本号与chromedriver版本号一致,如果不一致,到http://chromedriver.storage.googleapis.com/index.html下载与当前chrome浏览 器对应的驱动。 http://selenium-release.storage.googleapis.com/index.html selenium下载地址; 2、将chromedriver.exe文件放入python的scripts目录,并将该scripts目录

    2024年02月04日
    浏览(38)
  • Error: Unknown option ‘--inline‘报错解决办法

    我将原本在windows系统上构建、运行的代码移到了ubuntu系统上,在执行npm run dev时报了这样的错误(所有相关的依赖软件都安装了)。 我在网上搜了很久都没有找到解决办法,后来在一个英文网站上发现有人提到了这个问题的解决办法,但是可能是使用场景不对,并没有被采纳

    2024年02月13日
    浏览(40)
  • selenium:Message: unknown error : session deleted because of page crash

    使用 Python selenium 写的代码,在服务器上运行报错: Python 3.10.6 CentOS Stream 8 feapder==1.8.3 selenium==4.6.0 crawlab v0.6.0-2 添加如下参数即可! 这将强制 Chrome 改为使用该/tmp目录。这可能会减慢执行速度,因为将使用磁盘而不是内存。

    2024年02月14日
    浏览(35)
  • 记Kubernetes(k8s) 节点kubeadm join报错:[ERROR FileContent--proc-sys-net-ipv4-ip_forward]

    💖The Begin💖点点关注,收藏不迷路💖 这个错误提示显示了一个预检错误,指出 /proc/sys/net/ipv4/ip_forward 的内容未设置为 1。在 Kubernetes 的预安装检查中,这是一个必要的设置,它允许数据包在节点之间进行转发。 要解决这个问题,需要设置 /proc/sys/net/ipv4/ip_forward 的值为 1。

    2024年04月14日
    浏览(82)
  • selenium同时打开多个 chromedriver对象时候 unknown error: DevToolsActivePort file doesn‘t exist

    第一个正常,第二个就提示(unknown error: DevToolsActivePort file doesn\\\'t exist) 根据StackOverflow所介绍的解决方案 加上  不再报unknown error: DevToolsActivePort file doesn\\\'t exist,但driver.get(url)时全部都在第一个webdriver上打开,后面的窗口全部都一直是空白页面。 逐行代码屏蔽调试一轮,发现问

    2024年02月13日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包