带代理的 Selenium 返回空网站

2023-12-27

我无法通过代理从使用 selenium 的网站获取页面源 HTML。这是我的代码

from selenium.webdriver.chrome.options import Options
from selenium import webdriver
import codecs
import time

import shutil

proxy_username = 'myProxyUser'
proxy_password = 'myProxyPW'
port = '1080'
hostname = 'myProxyIP'

PROXY = proxy_username+":"+proxy_password+"@"+hostname+":"+port

options = Options()
options.add_argument("--headless")
options.add_argument("--kiosk")
options.add_argument('--proxy-server=%s' %PROXY)

driver = webdriver.Chrome(r'C:\Users\kingOtto\Downloads\chromedriver\chromedriver.exe', options=options)

driver.get("https://www.whatismyip.com")
time.sleep(10)
html = driver.page_source
f = codecs.open('dummy.html', "w", "utf-8")
f.write(html)

driver.close()

这会导致 HTML 非常不完整,仅显示 head 和 body 的外括号:

html
Out[3]: '<html><head></head><body></body></html>'

还有dummy.html写入磁盘的文件不显示上面行中显示的任何其他内容。

我迷路了,这是我尝试过的

  1. 当我运行它时它确实有效options.add_argument('--proxy-server=%s' %PROXY)线。所以我确信它是代理。但代理连接本身似乎没问题(我没有收到任何代理连接错误 - 而且我确实从网站获取了外部框架,对吧?所以驱动程序请求通过并返回给我)
  2. 不同的 URL:不仅 Whatismyip.com 失败,任何其他页面也失败 - 尝试了不同的新闻媒体,例如 CNN 甚至谷歌 - 除了头部和身体括号之外,几乎任何网站都没有返回任何内容。这不可能是任何 javascript/iframe 问题,对吧?
  3. 不同的等待时间(本文确实not help: 让 Selenium 等待 10 秒 https://stackoverflow.com/questions/45347675/make-selenium-wait-10-seconds),最多 60 秒 - 而且我的连接速度超快,

我对连接有什么误解?


driver.page_source 并不总是通过 selenium 返回您期望的内容。它可能不是完整的 dom。这在 selenium 文档和各种 SO 答案中都有记录,例如:https://stackoverflow.com/a/45247539/1387701 https://stackoverflow.com/a/45247539/1387701

Selenium 尽最大努力在获取页面源时提供页面源。只有高度动态的页面,这通常会限制其返回。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带代理的 Selenium 返回空网站 的相关文章

  • 如何在刻度标签和轴之间添加空间

    我已成功增加刻度标签的字体 但现在它们距离轴太近了 我想在刻度标签和轴之间添加一点呼吸空间 如果您不想全局更改间距 通过编辑 rcParams 并且想要更简洁的方法 请尝试以下操作 ax tick params axis both whic
  • InterfaceError:连接已关闭(使用 django + celery + Scrapy)

    当我在 Celery 任务中使用 Scrapy 解析函数 有时可能需要 10 分钟 时 我得到了这个信息 我用 姜戈 1 6 5 django celery 3 1 16 芹菜 3 1 16 psycopg2 2 5 5 我也使用了psyc
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • pandas 替换多个值

    以下是示例数据框 gt gt gt df pd DataFrame a 1 1 1 2 2 b 11 22 33 44 55 gt gt gt df a b 0 1 11 1 1 22 2 1 33 3 2 44 4 3 55 现在我想根据
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • 从 scikit-learn 导入 make_blobs [重复]

    这个问题在这里已经有答案了 我收到下一个警告 D Programming Python ML venv lib site packages sklearn utils deprecation py 77 DeprecationWarning
  • 从列表中的数据框列中搜索部分字符串匹配 - Pandas - Python

    我有一个清单 things A1 B2 C3 我有一个 pandas 数据框 其中有一列包含用分号分隔的值 某些行将包含与上面列表中的一项的匹配 它不会是完美的匹配 因为它在其中包含字符串的其他部分 该列 例如 该列中的一行可能有 哇 这里
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • Python - 在窗口最小化或隐藏时使用 pywinauto 控制窗口

    我正在尝试做的事情 我正在尝试使用 pywinauto 在 python 中创建一个脚本 以在后台自动安装 notepad 隐藏或最小化 notepad 只是一个示例 因为我将编辑它以与其他软件一起使用 Problem 问题是我想在安装程序
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • 为美国东部以外地区的 Cloudwatch 警报发送短信?

    AWS 似乎没有为美国东部以外的 SNS 主题订阅者提供 SMS 作为协议 我想连接我的 CloudWatch 警报并在发生故障时接收短信 但无法将其发送到 SMS YES 经过一番挖掘后 我能够让它发挥作用 它比仅仅选择一个主题或输入闹钟
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 使用基于正则表达式的部分匹配来选择 Pandas 数据帧的子数据帧

    我有一个 Pandas 数据框 它有两列 一列 进程参数 列 包含字符串 另一列 值 列 包含相应的浮点值 我需要过滤出部分匹配列 过程参数 中的一组键的子数据帧 并提取与这些键匹配的数据帧的两列 df pd DataFrame Proce
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例

随机推荐

  • 是否有一种声明式方法将 XML 解析为 Java 对象?

    我正在将 XML 文件的导入函数编写到我的 Java 应用程序中 我在用XOM http xom nu 解析 XML 文件 解析XML的代码并不容易理解 它是一些硬编码的 getChild 3 等等 与声明性 XML 文档相比 很难理解代码
  • 安装了多个.net core SDK(不同版本),我可以只保留最新的吗?

    我最近一直在使用 Visual Studio Community IDE 开发一些应用程序 我刚刚看到我的桌面上安装了多个 NET Core SDK 其次要版本更新略有不同 可能与 Microsoft 推送的 VS 更新一起安装 问题 我可
  • 如何在颤动的滚动视图中将容器或任何其他小部件固定在应用栏下方

    我希望在滚动屏幕时将小部件放置在应用程序下方 屏幕包含一个具有灵活空间的浮动应用程序栏 sliverappbar 其下方是一个具有任何容器或选项卡视图的容器 链接中的视频是我想要的效果的示例 好吧 我想我现在明白你了 您需要实现 Custo
  • 订阅类别流,事件永远不会出现在订阅客户端中

    第一次使用获取事件存储 http geteventstore com阅读文档后 我遇到了一个问题 事件永远不会出现在我的订阅客户端上 由于我错过了一个配置步骤 这是可能的 拥有这个控制台应用程序客户端 public class EventS
  • 是否有 .NET 4.5 相当于:Storagefile.Openasync

    我爱上了异步和等待 但是我无法弄清楚如何在不使用 Task Run 的情况下等待文件打开 似乎有一个WRT 中的 API http msdn microsoft com en us library windows apps windows
  • 错误处理(向客户端发送 ex.Message)

    我有一个 ASP NET Core 1 0 Web API 应用程序 并试图弄清楚如果我的控制器调用的函数出错 如何将异常消息传递给客户端 我尝试了很多东西 但没有任何实现IActionResult 我不明白为什么这不是人们需要的常见东西
  • AWS 上的 Kubernetes PVC 与 ReadWriteMany

    我想在 AWS 上设置 PVC 我需要ReadWriteMany作为访问模式 不幸的是 EBS仅支持ReadWriteOnce 我该如何解决这个问题 我看到 AWS EFS 有一个测试版提供商 它支持ReadWriteMany 但正如所说
  • 如何强制我想要的任何显示分辨率/时间?

    我无法找到一种方法来在我的 C 程序中强制执行我想要的任何显示分辨率 计时 我运行的是带有 GeForce 210 显卡的 Windows 7 我当前实现这些自定义分辨率的方法是使用驱动程序 GUI 手动添加自定义分辨率 然后使用 Wind
  • Eclipse 找不到 std c++ 库

    我有一台Windows8机器 mingw安装在c mingw Eclipse 确实成功编译了程序 但它认为包含错误的行在编译时没有问题 Eclipse 本身没有找到库 当我第一次在 Eclipse 中构建一个安装了 CDT 组件的项目时 它
  • this 指针不能在构造函数中使用别名:

    我正在学习 C 中的继承 我遇到了以下情况陈述 https en cppreference com w cpp language this 换句话说 this 指针不能在构造函数中使用别名 extern struct D d struct
  • 访问 ASP.Net MVC 中的“Application”对象来存储应用程序范围的变量

    如何在 ASP net MVC 中存储应用程序范围内的变量或对象 在常规 ASP 中 您有 Application 对象 显然在 ASP net 中也是如此 我正在使用 ASP net MVC 2 在控制器中 您应该能够执行以下操作 thi
  • 更改 Woocommerce 3 中的订单商品价格

    我需要更改 woocommerce 订单中的商品价格 但我发现的所有内容都是更改购物车中的价格 但这不是我需要的 因为我需要在结帐过程后进行更改 有人可以告诉我如何做到这一点吗 你需要使用新的CRUD 设置器方法 https github
  • 如何将值添加到地图内的集合? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有这张地图Map
  • 为什么我不能打开一个类,对枚举进行一次隐式转换

    我想知道为什么到枚举值的单个隐式转换的工作方式与转换到系统类型时的工作方式不同 我看不出任何技术原因 但也许比我聪明的人可以为我提供一些启示 以下无法编译 A value of an integral type expected and C
  • Clojure 中可以创建循环引用吗?

    忽略本机互操作和瞬态 是否可以在 Clojure 中创建任何包含直接循环引用的数据结构 看起来不可变的数据结构只能包含对自身先前版本的引用 是否有任何 Clojure API 可以创建一个引用自身的新数据结构 Scheme 具有 letre
  • 关于SQL查询的问题

    我正在做一个涉及oracle数据库的小项目 我有下表 CUSTOMER Cid CName City Discount PRODUCT Pid PName City Quantity Price ORDERS OrderNo Month C
  • 计算从左上角到右下角任意方向移动的移动次数

    我在面试中遇到了一个问题 这是我发现的类似问题 所以我想在这里问 问题是 有一个机器人位于 N X N 网格中的 1 1 处 机器人可以向左 右 上 下任意方向移动 我还得到了一个整数 k 它表示路径中的最大步数 我必须计算以 k 或更少的
  • OverflowError Python int 太大,无法转换为 C long

    usr bin python import sys math n input enter a number to find the factors j flag b 0l False 0l for b in xrange 1 n 1 a n
  • 如何在android中设置ListView所选项目交替文本颜色

    我有一个带有图像视图和文本视图的自定义列表视图 我希望当用户选择一个项目时 文本视图颜色应该改变 而所有其他文本视图应该保持默认 这是我的 xml 列表视图 xml
  • 带代理的 Selenium 返回空网站

    我无法通过代理从使用 selenium 的网站获取页面源 HTML 这是我的代码 from selenium webdriver chrome options import Options from selenium import webd