簡體   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