Firefox webdriverを使ってzbigz.comのダウンロードプロセスを自動化するために、Seleniumを使ってPython3.5でプログラムを作成しようとしています。セレンのpythonの次のページにある要素にアクセスする
import time
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
#magnet link for the purpose of testing
mag = "magnet:?xt=urn:btih:86259d1c8d9dfbe15b6290268231e68d414fed23&dn=The.Big.Bang.Theory.S09E21.HDTV.x264-LOL%5Bettv%5D&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Fopen.demonii.com%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Fexodus.desync.com%3A6969"
def startdriver():
#starting firefox driver and waiting for 100 seconds
driver = webdriver.Firefox()
driver.implicitly_wait(100)
return driver
def download(driver, url, mg):
#opening up firefox at url = www.zbigz.com
driver.get(url)
try:
#accessing the required elements on the first page that opens up
entry_box = driver.find_element_by_xpath('.//*[@id=\'text-link-input\']')
go_button = driver.find_element_by_id('go-btn')
#entering magnet link
entry_box.clear()
entry_box.send_keys(mg)
#clicking on the 'Go' button
go_button.click()
#accessing the free option
free_button = driver.find_element_by_id('cloud-free-btn')
#clicking on the free option
free_button.click()
#now comes the next page ('www.zbigz.com/myfiles') where everything goes wrong
while driver.find_elements_by_tag_name('html') is None: #waiting for the page to load
continue
#this button is what I need to click
cloud_btn = driver.find_elements_by_xpath('.//*[@id=\'86259d1c8d9dfbe15b6290268231e68d414fed23\']/div[1]')
#allowing some time so that the download gets cached fully
time.sleep(60)
#clicking
cloud_btn.click()
except TimeoutException:
print('Page could not be loaded. Get a better connection!')
if __name__=='__main__':
#starting driver and downloading
d = startdriver()
download(d, zbigz, mag)
time.sleep(30)
d.quit()
は、しかし、私は、次のページ上のボタンにアクセスすることはできません。次のように私のコードです。私はこのコードを実行すると、これは私が得るエラーです:
Traceback (most recent call last): File "G:/Python/PyCharm Projects/TorrentDownloader.py", line 88, in download(d, zbigz, mag) File "G:/Python/PyCharm Projects/TorrentDownloader.py", line 80, in download cloud_btn.click() AttributeError: 'list' object has no attribute 'click'
私は次のページで要素にアクセスすることはできません。投稿方法はPOSTなのでdriver.get(zbigz+'myfiles')
は使えません。
次のページの要素にアクセスする方法を提案してください。