【问题标题】:How to change IP Adress on Selenium Python如何在 Selenium Python 上更改 IP 地址
【发布时间】:2021-08-19 04:32:29
【问题描述】:

我需要在 Python 中的 Selenium 中更改 webdriver 上的 IP 地址! 我尝试了上面的代码,但现在项目 太慢 并且不再工作了,可能是因为超时。我也在使用 Google Colaboratory! 谢谢!

sys.path.insert(0,'/usr/lib/chromium-browser/chromedriver')
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument("--window-size=1920,1200")
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--proxy-server=direct://132.163.0.10:8888')

user_agent = 'Mozilla/5.0 (Windows NT 4.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36'
chrome_options.add_argument("user-agent="+user_agent)
wd = webdriver.Chrome('chromedriver',options=chrome_options)

我也试过这个:

PROXY = "http://192.168.0.10:8888"
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-dev-shm-usage')


webdriver.DesiredCapabilities.CHROME['proxy'] = {
    "httpProxy": PROXY,
    "ftpProxy": PROXY,
    "sslProxy": PROXY,
    "proxyType": "MANUAL",
}
wd = webdriver.Chrome('chromedriver', desired_capabilities=capabilities, options=chrome_options)

但它没有用!

【问题讨论】:

    标签: python python-3.x selenium selenium-webdriver google-colaboratory


    【解决方案1】:

    尝试使用代理更改 IP,我用 firefox 做过,但您可以更改它以最适合您。

    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
    PROXY = "114.7.27.98:8080"
    webdriver.DesiredCapabilities.FIREFOX['proxy'] = {
        "httpProxy": PROXY,
        "ftpProxy": PROXY,
        "sslProxy": PROXY,
        "proxyType": "MANUAL",
    }
    
    with webdriver.Firefox() as driver:
        driver.get("https://www.dnsleaktest.com/")
        try:
            element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "myDynamicElement")))
        finally:
            driver.quit()
    

    【讨论】:

    • 我试过这个,但是当试图访问页面时,加载时间太长了,即使使用了 expected_conditions!我已经在这行'chrome_options.add_argument('--proxy-server=direct://132.163.0.10:8888')'上做了代理事情
    • 顺便说一句,您的代码给出了错误 - '消息:进程意外关闭并带有状态信号'!
    • 删除 try 块,我把它放在那里,所以它会在 10 秒内自动关闭。由于流量正在通过代理,因此花费的时间太长
    猜你喜欢
    • 2017-01-05
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 2018-01-18
    • 2017-04-02
    相关资源
    最近更新 更多