python - Python Selenium在for循环中获取页面
问题描述
我有一个具有相似 DOM 结构的页面列表。
我试图在 for 循环中通过 python selenium 抓取它们,但总是获取第一页信息。
我的代码看起来像:
for url in urls:
driver.get(url)
wait = WebDriverWait(driver, wait)
// always get name in first page
name = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, '.company-name')))
我该如何解决?
解决方案
谢谢你的帮助。终于解决了我的问题!
只是等待网址更改,我修改我的代码如下:
for new_url in urls:
current_url = driver.current_url
driver.get(new_url)
wait = WebDriverWait(driver, wait)
// wait until url change
WebDriverWait(driver, wait).until(EC.url_changes(current_url))
// get new name
name = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, '.company-name')))
推荐阅读
- router - 将 Livebox 连接到 Alpha 版并共享互联网
- angular - @ViewChild (ElementRef.nativeElement) 返回未定义
- java - 在 SQLEXPRESS 上启用 TCP 连接
- java - 如何模拟被测类实例的实例方法的输出?
- javascript - 如何在 Node.js 中设置服务器时间
- javascript - 当jsFiddle说var已经定义时如何修复var
- java - 处理 OnErrorResponse 方法 - Volley
- php - 天然橡胶 绑定变量,不匹配的数字标记
- sql-server - 根据条件将表 1 中的数据归档到表 2 | Sql Server 2017 速成版
- java - Java Play Framework - Heroku:没有这样的文件应用程序崩溃