[英]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.