无法在 python 中使用 selenium 找到链接?

Unable to find links using selenium in python?

我正在使用 selenium 抓取网页。我先找到我要的link然后点击下载(Link是pdf)。有时我能够这样做,但有时硒会说 link 未找到。我想这是由于页面加载不正确造成的。我能做些什么,我的方向是否正确?

这是我之前的代码:

for b in source_code_2.find_all('a', href=True):
    if b.has_attr("title"):
        if(b['title']=='Click here to download'):
            urllib2.urlretrieve(full_url)

现在我想用硒和元素来做。我该怎么做?

我认为您应该使用显式等待来告诉 selenium 等待特定元素正确加载,在 python 中您可以通过以下方式使用显式等待:

  element = WebDriverWait(driver, 20).until(
    EC.presence_of_element_located((By.ID, "yourElement"))

element = WebDriverWait(driver, 20).until(
    EC.element_to_be_clickable((By.ID, "yourElement"))
    element.click()

你只需要在上面的代码中替换你的元素ID,你可以根据需要将20秒更改为30,40。所以上面代码的意思是你的 webdriver 会等到 20 秒才能找到那个特定的元素。