You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将基于Chromedriver的Selenium代理爬虫改为兼容Geckodriver?

将代理爬虫代码适配为Firefox/Geckodriver

要把你的Chrome驱动爬虫改成兼容Firefox,只需要调整驱动相关的部分,核心爬取逻辑完全不用改,具体操作如下:

修改步骤

  • 替换自动安装库:把chromedriver_autoinstaller换成geckodriver_autoinstaller,先执行安装命令:
    pip install geckodriver-autoinstaller
    
  • 替换驱动初始化代码:将webdriver.Chrome()改为webdriver.Firefox()
  • 移除Chrome相关的导入和自动安装代码,换成Firefox对应的内容

完整修改后的代码

from selenium import webdriver
from selenium.webdriver.common.by import By
import geckodriver_autoinstaller  # pip install geckodriver-autoinstaller

# 自动安装并适配对应版本的Geckodriver
geckodriver_autoinstaller.install()
driver = webdriver.Firefox()

# 获取免费代理(这部分逻辑完全不变)
def get_free_proxies(driver):
    driver.get('https://sslproxies.org')

    table = driver.find_element(By.TAG_NAME, 'table')
    thead = table.find_element(By.TAG_NAME, 'thead').find_elements(By.TAG_NAME, 'th')
    tbody = table.find_element(By.TAG_NAME, 'tbody').find_elements(By.TAG_NAME, 'tr')

    headers = []
    for th in thead:
        headers.append(th.text.strip())

    proxies = []
    for tr in tbody:
        proxy_data = {}
        tds = tr.find_elements(By.TAG_NAME, 'td')
        for i in range(len(headers)):
            proxy_data[headers[i]] = tds[i].text.strip()
        proxies.append(proxy_data)
    
    return proxies


free_proxies = get_free_proxies(driver)

说明:你代码里的元素定位用的是Selenium标准的By类方法,这部分在Chrome和Firefox下通用,所以爬取逻辑不需要做任何改动,仅替换驱动相关的初始化和自动安装部分即可。

内容的提问来源于stack exchange,提问作者tormaoen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 19:11:03