web-dev-qa-db-ja.com

スクレイピー/セレンの場合、前のページに戻る方法はありますか?

基本的に、javascript検索フォームとボタンを備えたstart_urlがあるため、Seleniumが必要です。セレンを使用して、選択ボックスオブジェクトで適切なアイテムを選択し、検索ボタンをクリックします。次のページ、私はいくつかの無愛想な魔法をします。ただし、ここで元のstart_urlに戻って別のオブジェクトなどに入力し、それ以上なくなるまで繰り返したいと思います。

基本的に、私はforループを作成して、ブラウザーを元のresponse.urlに戻そうとしましたが、どういうわけかクラッシュしました。スクラップを解析するために、start_urlの重複リストを上部に配置することもできますが、それが最善の方法かどうかはわかりません。私の状況では何ができますか?

11
petermaxstack

ここでのアドバイスは使用することです driver.back()https://Selenium-python.readthedocs.io/navigating.html#navigation-history-and-location

15
seba

現在選択されている回答は外部サイトへのリンクを提供し、そのリンクは壊れています。 Selenium docsについて話します

driver.forward()
driver.back()

しかし、明示的にいくつかの待機関数を使用しても、これらは失敗することがあります。

私はより良い解決策を見つけました。以下のコマンドを使用して、後方に移動できます。

driver.execute_script("window.history.go(-1)")

これが将来誰かを助けることを願っています。

9
user1610950

ブラウザの履歴を前後に移動するには

driver.forward()
driver.back()
3
Shaik