代理只能与请求库一起使用,而不能与硒一起使用,但是当不使用代理时,硒可以发挥全部功能。
我已经尝试过stackoverflow提出的关于如何将代理与硒一起使用的许多建议。最常见的是我粘贴在代码片段中的内容。但是,每次我使用此请求都会失败。
代理可以通过请求库正常运行。
当我从chrome选项中删除proxy参数时,它可以正常工作,但不能与proxy参数一起使用。
任何人都可以推荐一些帮助
proxy = 'MY_PROXY_GOES_HERE'
url = 'https://google.co.uk/'
# Try with selenium
driver_path = "chromedriver"
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--proxy-server={proxy}')
driver = webdriver.Chrome(executable_path=driver_path, chrome_options=chrome_options)
driver.implicitly_wait(30) # seconds
driver.get(url=url)
# Try with requests
proxies = {'https': proxy}
response = requests.get(url, proxies=proxies)
答案 0 :(得分:0)
我尝试了您的代码,它可以正常工作,请参见下文。我只添加了一个随机代理服务器。
根据您得到的异常,可能的猜测是隐式等待会导致超时。所以我从下面的代码中删除了它。如果仍然超时,请尝试将默认页面超时(driver.set_page_load_timeout(xxx)
)更改为更高的值,chromedriver默认为60s。
from selenium import webdriver
proxy = 'http://202.60.227.65:57887'
url = 'https://google.co.uk/'
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--proxy-server={proxy}')
driver = webdriver.Chrome(options=chrome_options)
driver.get(url=url)