python - Selenium Python 使用代理刷新页面直到完全加载
问题描述
我想监视一个页面以获取更改。所以我使用代理。并非所有这些代理都有效(有些可能被禁止,有些会变慢等)所以我想刷新页面,并且我想在每次刷新时更改代理,如果页面直到 2 秒才加载,请刷新。
options = webdriver.ChromeOptions()
options.add_argument('--proxy-server=http://%s' % PROXY['http'])
while True:
try:
browser = webdriver.Chrome(executable_path=path, options=options)
browser.implicitly_wait(1)
browser.get(links)
break
except:
browser.close()
PROXY = proxy_reader.proxies_call(3) #this function return a new proxy each time
source = browser.page_source
我不知道如何在 2 秒内完成每个会话......我希望有人能帮助我。
解决方案
如果您想每次都使用新代理创建会话,直到页面在 2 秒内加载,请尝试以下解决方案
from selenium.common.exceptions import TimeoutException
while True:
PROXY = proxy_reader.proxies_call(3)
options = webdriver.ChromeOptions()
options.add_argument('--proxy-server=http://%s' % PROXY['http'])
browser = webdriver.Chrome(executable_path=path, options=options)
# Set page load timeout: if page not loaded within 2 seconds - raise TimeoutException
browser.set_page_load_timeout(2)
try:
browser.get(links)
break
except TimeoutException:
browser.quit()
推荐阅读
- c++ - 循环在不应该的地方终止程序
- javascript - 如何添加重置按钮
- python-3.x - 如何从 requests_toolbelt 中的文件字段中删除“文件名”
- json - BASH/Linux - 当数组没有任何键时,如何用 jq 解析 JSON?
- vue.js - 如何使“在编辑器中打开”功能在 VueDevtools 中工作
- python - 将秒转换为分钟时出现 Tkinter ValueError?
- java - 为 TypedQuery 指定的类型不兼容,但 Hibernate 返回另一种类型
- html - HTML Div 在禁用它后会扭曲页面
- python - 在 Python 中使用 Plotly 中的滑块进行交互式线图
- c# - 将 Blazor 服务器部署到 localhost,默认登录页面 (cshtml) 错误