2016-04-13 13 views
-1

私がやろうとしているのは、私を走らせる簡単なプログラムを作って、基本的にはTorrentzに行き、最後にuttorentを通してファイルをダウンロードできるようにいくつかのリンクをたどります。以下は私が今までにコーディングしたもので、変数をlinkElemにするように思えます。そして、私はまた、linkElem.find_elements_by_xpathが必要なリンクに行くように思わせる。あなたが何が間違っているかを知っていると思うなら、助けてください。おかげさまで Selenium Python 3.4.3自動トレント:リンクセクション

from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 


browser = webdriver.Firefox() 
browser.get('https://torrentz.eu/') 

searchElem = browser.find_element_by_id('thesearchbox') 
searchElem.send_keys('Limitless') 
searchButton = browser.find_element_by_id('thesearchbutton') 
searchButton.click() 

linkElem = linkElem.find_elements_by_xpath("//div[@class='results']//a[@href='/9ea0c575520a3065d85b285c9474231192368db7']") 


#wait = WebDriverWait(browser, 6) 
#linkElem = wait.until(EC.visibility_of_element_located((By.href, "/9ea0c575520a3065d85b285c9474231192368db7"))) 
#linkElem.clear() 

#linkElem = browser.find_element_by_link_text('S01E20 HDTV x264 LOL ettv') 
#linkElem.click() 


#SignIn = browser.find_elements_by_id('signIn') 
#SignIn.click() 
#passwordElem.submit() 

答えて

0

私はあなたがhref属性値に頼るべきではないと思います。代わりに、検索結果コンテナ内のdl要素の下にあるリンクを取得します。また、待機追加:検索結果のリンクのすべてを含んでいるでしょう、あなたのケースで

# wait for search results to appear 
wait = WebDriverWait(browser, 6) 
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.results dl"))) 

links = driver.find_elements_by_css_selector("div.results dl dt a") 
links[0].click() 

linksを、links[0]は、最初のリンクです。

+0

こんにちは@alecxe、この場合、特に 'dl'が何をするのか、変数' links'パラメータは何をするのかを教えてください。 –

+0

@ stuum1。 'dl'は要素名です。 'links'はweb要素のリストです。 'links [0]'はあなたにリストの最初の要素を与えます。 – alecxe

関連する問題