2016-03-01 52 views
1

我想從使用ajax加載數據的站點中提取一些數據,並且我使用硒以及python for this.I想單擊一個鏈接出現在ajax頁面加載後。 我甚至把Python的睡眠功能,使網頁加載完全,但仍然無法點擊。每次出現這個錯誤「selenium.common.exceptions.NoSuchElementException:消息:沒有這樣的元素」。請參閱我寫的下面的代碼。 感謝如何點擊使用硒和python加載ajax數據的鏈接

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.support.ui import WebDriverWait 
import time 
import subprocess 
from selenium.webdriver.chrome.options import Options 

chromeOptions = webdriver.ChromeOptions() 
prefs = {"download.default_directory" : "C:/Users/212553509/Desktop/WHO"} 
chromeOptions.add_experimental_option("prefs",prefs) 
chromedriver = "C:/python27/Scripts/chromedriver.exe" 
driver = webdriver.Chrome(executable_path=chromedriver, chrome_options=chromeOptions) 
driver.get("http://apps.who.int/gho/data/node.home") 
time.sleep(20) 
driver.find_element_by_link_text('node.main.484?lang=en').click() 

回答

0

你傳入的鏈接href,而不是鏈接文本到driver.find_element_by_link_text。如果你有HTML代碼,這樣

<a target="_top" href="node.main.MEDSMDG8?lang=en">Essential medicines</a> 

使用driver.find_element_by_text('Essential medicines')

+0

這是不會工作嵌入在腳本中的ajax – Mox

+0

謝謝!但我也試過這個。你能推薦任何其他庫,我可以使用它獲取頁面上可見的數據,但不能在源代碼中獲得 –

+0

您可以嘗試scraperJs--與Python + Selenium相比,我發現使用它更容易。 –

相關問題