python 使用带有代理的Selenium时无法到达站点

4xy9mtcn  于 2023-03-11  发布在  Python
关注(0)|答案(1)|浏览(154)

当我尝试通过未检测到的chromedriver访问一个随机网站,并配置了代理服务器。使用下面的代码:

from time import sleep
import json
import undetected_chromedriver as webdriver
from selenium.webdriver.chromium.service import ChromiumService
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options

service = ChromiumService(executable_path=ChromeDriverManager().install())

config = json.load(open('config.json','r'))

def checker(proxy):

    opts = Options()
    opts.binary_location = config['chrome-path']
    opts.add_argument("--proxy-server=" + "\"" + proxy + "\"")

    driver = webdriver.Chrome(version_main=110, options=opts, service=service)
    sleep(5)

    driver.get('https://whatismyip.com')
    sleep(100)

checker('IP:PORT')

config.json没有什么特别之处:

{
    "chrome-path": "/bin/ungoogled-chromium"
}

结果是我的浏览器无法访问任何给定的网站。x1c 0d1x
当通过命令行ungoogled-chromium --proxy-server="IP:PORT"手动启动chromium时(当然是使用相同的ip),所有站点加载正常。我也尝试了seleniumwire,但它也不工作。我希望找到任何可能的原因和修复方法。谢谢!!

lb3vh1jj

lb3vh1jj1#

您可以在使用未检测到的chromedriver模式时使用SeleniumBase代理站点。
pip install seleniumbase,然后使用python运行此命令:

from seleniumbase import SB

with SB(uc=True, proxy="IP:PORT") as sb:
    sb.driver.get("https://whatismyip.com")
    sb.sleep(10)

相关问题