2016-04-13 4 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' - это список веб-элементов. 'links [0]' дает вам первый элемент в списке. – alecxe

 Смежные вопросы

  • Нет связанных вопросов^_^