Selenium Python 3.4.3 Автоматический торрент: раздел ссылок

То, что я пытаюсь сделать, - это сделать простую программу, которая позволяет мне запускаться, и она в основном идет в Торрентц и переходит по нескольким ссылкам, чтобы, наконец, иметь возможность скачать файл через uttorent. Ниже приведено то, что я кодировал до сих пор, и я не могу сделать переменную linkElem Работа. И я тоже не могу сделать linkElem.find_elements_by_xpath перейти по ссылке необходимо. Если вы думаете, что знаете, что не так, пожалуйста, помогите. Благодарю.

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()

1 ответ

Решение

Я не думаю, что вы можете и должны полагаться на 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] это первая ссылка.

Другие вопросы по тегам