前提
Pythonを用いてサイトから画像のダウンロードを行いたいと考えています。
実現したいこと
具体的には
https://www.photo-ac.com/main/detail/24553230
の右のダウンロードボタンをSeleniumを用いてクリックしたいと思っています。
CSSセレクタを用い、ボタンを検索していますが対象が無いと返ってきます。
ページの検証画面では確認できています。
該当のソースコード
Python
1driver.find_element_by_css_selector("div#timer > p:nth-of-type(2) > button").click()
試したこと
Seleniumで取得したページソースをBeautifulSoupで解析してみましたが、対象のボタンタグが無いことだけが確認でき、なぜ無いのか、代わりに何を指定すればよいのかはわかりませんでした。
> ページの検証画面では確認できています。
どう表示されていますか?
<div id="timer">
<div class="row no-gutters">
<div class="col-4 mb-3">
<div class="ac-p-2 text-center h-100 d-flex align-item-center justify-content-center flex-column ac-heading-6 border-right">
<div class="text-center text-uppercase ac-mb-1 d-flex align-items-end justify-content-center">
<p>s</p>
</div>
<p class="text-center"><small>JPEG 0.21M</small></p> <p class="text-center"><small>640x480px</small></p> </div>
</div>
<div class="col-4 mb-3">
<div class="ac-p-2 text-center h-100 d-flex align-item-center justify-content-center flex-column ac-heading-6 border-right">
<div class="text-center text-uppercase ac-mb-1 d-flex align-items-end justify-content-center">
<p>m</p>
</div>
<p class="text-center"><small>JPEG 1.54M</small></p> <p class="text-center"><small>1920x1440px</small></p> </div>
</div>
<div class="col-4 mb-3">
<div class="ac-p-2 text-center h-100 d-flex align-item-center justify-content-center flex-column ac-heading-6 ">
<div class="text-center text-uppercase ac-mb-1 d-flex align-items-end justify-content-center">
<p>l</p>
</div>
<p class="text-center"><small>JPEG 1.26M</small></p> <p class="text-center"><small>2304x1728px</small></p> </div>
</div>
</div>
<p class="text-center ac-mb-2 ac-heading-6">動画広告を視聴して無料でダウンロード</p>
<p class="text-center ac-mb-2"><button type="button" class="ac-btn-md ac-btn-photo w-100 max-width-250 justify-content-center js-timerModal"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="20" height="20" class="ac-mr-2" preserveAspectRatio="xMidYMid meet" viewBox="0 0 16 16"><g fill="currentColor"><path d="M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"></path><path d="M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"></path></g></svg>ダウンロード</button></p>
<p class="text-center ac-mb-1 text-muted font-size-12">※視聴後、広告を閉じると素材ページに移動します。</p>
<p class="text-center ac-mb-4 font-size-12"><a href="https://premium.photo-ac.com/premium/campaign?target=premium_sozai" target="_blank" class="ac-text-blue">待たずにダウンロードする方法は?</a></p>
</div>
以上のような形で表示されています。
エラーは以下のように出ます。
NoSuchElementException: Message: no such element: Unable to locate element:
宜しくお願い致します。
対象のページに<div id="timer">はありますか?
質問文のリンク先に飛ぶと、<div id="timer">はありませんが、同サイトにログインすると上に記載したように、<div id="timer">が出てきました。
わかりづらくてすみませんが、ご協力よろしくお願いします。
ログイン後の話なのですね。すみませんが会員登録していないサイトのため、他の回答者の回答をお待ちください。
回答2件
あなたの回答
tips
プレビュー