gpt4 book ai didi

python - 如何在 OperaDriver 中启用内置 VPN?

转载 作者:太空狗 更新时间:2023-10-30 00:58:18 29 4
gpt4 key购买 nike

opera 浏览器有一个内置的 VPN,可以让你在浏览时隐藏你的 IP。我的问题是在 python 中使用带有 selenium 的 OperaDriver 时可以打开 VPN 吗?

详细尝试和问题:

我有这个脚本可以转到网站以显示我的 IP 地址。

from selenium import webdriver
from selenium.webdriver.opera.options import Options
from time import sleep
driver = webdriver.Opera(executable_path=r'/path/to/operadriver')
driver.get('https://whatismyipaddress.com')
sleep(10)
driver.quit()

当我在启用 VPN 的 Opera 浏览器上访问该站点时,我的 IP 被屏蔽并显示了一些其他 IP 地址。但是我的脚本会打开浏览器以显示我的真实 IP 地址。

我在 SO 以及其他网站上搜索了几乎所有关于 OperaDriver 的问题。似乎在任何地方都绝对没有与此相关的文档或任何其他问题。

我得到的最接近的是 this feature request on github . OP 说他能够通过使用 OperaOptions 加载自定义配置文件来使其工作。链接中发布的代码是

OperaOptions operaOptions = new OperaOptions();
operaOptions.addArguments("user-data-dir", "~/Library/Application Support/com.operasoftware.Opera");
driver = new OperaDriver(operaOptions);

我尝试在 python 中执行此操作,但没有成功。如果有任何问题,我使用 Ubuntu 16.04,OperaDriver 是从 official github page 下载的。 . Python 版本为 3.6.7,Opera 版本为 57.0.3098.116 for Ubuntu 16.04 LTS (x86_64; Unity)

最佳答案

您正在尝试使用 OperaOptions 而不是 ChromeOptions,来自 https://seleniumhq.github.io/selenium/docs/api/py/webdriver_opera/selenium.webdriver.opera.webdriver.html

options: this takes an instance of ChromeOptions

正如kaqqao所说

"enable VPN from the GUI and the setting got saved in the active profile."

from selenium import webdriver
from time import sleep

# The profile where I enabled the VPN previously using the GUI.
opera_profile = '/home/dan/.config/opera'
options = webdriver.ChromeOptions()
options.add_argument('user-data-dir=' + opera_profile)
driver = webdriver.Opera(options=options)
driver.get('https://whatismyipaddress.com')
sleep(10)
driver.quit()

结果:

First try
IPv6: 2001:67c:2660:425:2:0:0:3f8
IPv4: 77.111.247.26

Second try
IPv6: 2001:67c:2660:425:1a:0:0:1a0
IPv4: 77.111.247.66

Third try
IPv4: 77.111.247.133
IPv6: Not detected

Forth try
IPv6: 2001:67c:2660:425:1c:0:0:1fe
IPv4: 77.111.247.68

这些都不是我的 IP,地址栏旁边显示的是 VPN 图标。

已更新 以回答问题。

来自 https://techdows.com/2016/08/opera-profile-location.html

Simple way to know the profile path of Opera is just type about://about in address bar and check for the Profile line under paths.

在 Windows 10 上,代码如下所示。

from selenium import webdriver
from time import sleep

# The profile where I enabled the VPN previously using the GUI.
opera_profile = r'C:\\Users\\dan\\AppData\\Roaming\\Opera Software\\Opera Stable'
options = webdriver.ChromeOptions()
options.add_argument('user-data-dir=' + opera_profile)
options._binary_location = r'C:\\Users\\dan\\AppData\\Local\\Programs\Opera\\58.0.3135.114\\opera.exe'
driver = webdriver.Opera(executable_path=r'C:\\operadriver_win64\\operadriver.exe',options=options)
driver.get('https://whatismyipaddress.com')
sleep(10)
driver.quit()

关于python - 如何在 OperaDriver 中启用内置 VPN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55130791/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com