seleniumを利用して、複数あるページを最後まで呼び出して、
最後まで行ったら終了する、プログラミングを検討しています。
ページ数が異なる場合もあるので、format()関数は利用せずに、
「次へ」のボタンをクリックさせることで遷移させたいと思い下記のコードで試してみました。
while True: try: next_btn = driver.find_element_by_class_name('gt_bt') next_btn.click() except NoSuchElementException: driver.quit() break
ページ送りは最後の92ページ目まで問題なくできるのですが、
ブラウザ終了の処理が上手くいきません。
おそらく、「次へ」のボタンが最後のページにも存在するためエラーとなるようです。
このような事例ではどのような対処方法がありますでしょうか?
ご教示いただけましたら幸甚です。何卒よろしくお願い申し上げます。
ブラウザで手動でどうやるのかをそのままプログラミングすればいいのでは?
ブラウザで手動でどうやるのでしょうか?
質問の仕方が悪かったようなので修正します。
ブラウザで手動でどうやるのかをそのままプログラミングすればいいのでは?
ブラウザで手動でどうやるのでしょうか?
手動ではやりません。
やらないと先に進みませんよ。
申し訳ございませんが、質問の意味が理解出来ませんので、ご放念くださいますようお願い致します。
手動でやる場合、何らかの表示で最終ページであることを知ると思いますが、そういう表示を探しましょう。
という表現ならわかりますでしょうか?
ご丁寧にありがとうございます。理解できました。
最後のページであることの表示を見つけられずにおります。。。
なるほど。
そうすると、
> 「次へ」のボタンが最後のページにも存在するためエラーとなるようです。
ということなので、そのエラーがPythonの例外ということなら、
except NoSuchElementException:
に追加すればいいと思いますが、そうではないのでしょうか?
どういうエラーですか?
下記のエラーが発生いたしました。
WebDriverException: Message: disconnected: Unable to receive message from renderer
(Session info: chrome=78.0.3904.97)
回答3件
あなたの回答
tips
プレビュー