繁体   English   中英

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

[英]Unable to find links using selenium in python?

我正在使用硒抓取网页。 我首先找到我想要的链接,然后单击并下载(链接为pdf)。 发生的事情有时是我能够做到的,但硒表示有时找不到该链接。 我想这是由于页面无法正确加载。 我该怎么办,我的方向正确吗?

这是我以前的代码:

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。 因此,上述代码的意思是您的网络驱动程序将等待20秒才能找到该特定元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM