我使用硒庫和python瀏覽器。python-硒 - 點擊產生的鏈接
我需要點擊從URL的鏈接:
http://www.youtube-mp3.org/
的想法是下載轉換爲MP3文件在以前的代碼的視頻列表。 我的腳本是:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
url2='http://www.youtube-mp3.org/'
chromedriver = 'C:\\exp\\chromedriver.exe' #where you have the file
browser = webdriver.Chrome(chromedriver)
browser.get(url2)
direc = browser.find_element_by_id("youtube-url")
direc.clear()
direc.send_keys("https://www.youtube.com/watch?v=nYh-n7EOtMA") #an example url
browser.find_element_by_id("btns").click()
直到這裏一切正常。
現在我需要按下視頻轉換後出現的下載鏈接。
該部分的HTML是:
<div id="dl_link" style="display: block;">
<a href="/get?video_id=nYh-n7EOtMA&h=-1&r=-1.1" style="display:none"><b>Download</b></a>
<a href="/get?video_id=nYh-n7EOtMA&ts_create=1463533555&r=MTg2LjYwLjE2MS4yMTE%3D&h2=5ad90182ae65fea567f844c3b6a933aa&s=145334"><b>Download</b></a><a href="/get?video_id=nYh-n7EOtMA&h=-1&r=-1.1" style="display:none">
<b>Download</b>
</a></div>
但我只能看到它時,我選擇「考察對象」,因爲如果我選擇「查看源代碼」(後我粘貼URL和視頻和鏈接出現),沒有任何內容。
我試着用:
browser.find_element_by_partial_link_text("create").click()
但我得到了一個錯誤:
NoSuchElementException: Message: no such element
,並與:
browser.find_element_by_name("dl_link").click()
錯誤:
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"name","selector":"dl_link"}
也有:
browser.find_element_by_id("dl_link").click()
,並得到:
ElementNotVisibleException: Message: element not visible
所以,我的問題是:
- 爲什麼我不能看到HTML腳本下載鏈接時,我 按查看源代碼?
- 是否可以用 python完成進程(下載mp3文件)?
- 確實是網頁上有Java腳本的事實與問題有關嗎?
- 有沒有其他庫可以做到這一點?
謝謝。
更改爲此'browser.find_element_by_name(「dl_link」)。click()'應該理想地工作 – nullpointer
@nullpointer,我已經嘗試過,並且沒有錯誤消息是:消息:沒有這樣的元素:無法找到元素:{「method」:「name」,「selector」:「dl_link」} – GabyLP