首页 > 解决方案 > 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')))

我该如何解决?

标签: pythonselenium

解决方案


谢谢你的帮助。终于解决了我的问题!

只是等待网址更改,我修改我的代码如下:

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')))

推荐阅读