[解決済み] PythonでSeleniumを使って人間認証「プレスアンドホールド」を回避する方法とは?
2022-02-02 05:45:32
質問
SeleniumとPythonを使って、次のような製品のレビューをスクレイピングしようとしています。 サイト が、別の サイト で、任意のタイミングでポップアップが表示され、そこで人間認証のためにボタンを長押しする必要があります。
私はクロームウェブドライバを使用しており、この問題を解決するために、パスを取得するために
driver.find_element_by_xpath
などなど、いろいろな方法があります。また、「長押し」ボタンがiframeの中にあることがわかったので、iframeに切り替えるには
driver.switch_to_frame('//iframe')
または
driver.switch_to_frame(0)
が、失敗しました。何かアクションを起こすためのiframe名やidが見つからないのです。
seleniumとpythonを使って、(サイトやポップアップとして)発生するたびにバイパスしたり、アクション(ボタンの長押し)を取ったり、途中で他のポップアップを解除する方法はありませんか? 何かご提案があれば、ぜひお願いします。
どのように解決するのですか?
この問題のジェイコブの解決策 こちら は、この問題を解決します。
import time
from selenium import webdriver as wd
from selenium.webdriver.common.action_chains import ActionChains
driver = wd.Chrome('./web driver/chromedriver.exe')
target_url = 'https://www.walmart.com/blocked?url=L2lwL0Nsb3JveC1EaXNpbmZlY3RpbmctV2lwZXMtMjI1LUNvdW50LVZhbHVlLVBhY2stQ3Jpc3AtTGVtb24tYW5kLUZyZXNoLVNjZW50LTMtUGFjay03NS1Db3VudC1FYWNoLzE0ODk4MzY1&uuid=9ed7f800-f288-11eb-ad50-1b3c9c7d7310&vid=9cf07351-f288-11eb-9ab5-ef26d206453b&g=b'
driver.get(target_url)
driver.maximize_window()
element = driver.find_element_by_css_selector('#px-captcha')
action = ActionChains(driver)
action.click_and_hold(element)
action.perform()
time.sleep(10)
action.release(element)
action.perform()
time.sleep(0.2)
action.release(element)
関連
-
[解決済み】Heroku:ノードアプリで「このアプリにはデフォルトの言語が検出されませんでした」エラーがスローされる
-
[解決済み] jQueryで、ユーザーがそのフィールドを編集している間、テキストフィールドの最初の文字を大文字にするにはどうすればよいですか?
-
[解決済み】SecurityError: オリジンを持つフレームがクロスオリジンフレームにアクセスするのをブロックした
-
[解決済み】XMLパースエラー:ルート要素が見つからない コンソールの場所 FF
-
[解決済み】Pythonを使用したSelenium - Geckodriverの実行ファイルがPATHにある必要があります。
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み】Syntax error: JavaScriptの不正なreturnステートメント
-
[解決済み】 \u003C とは何ですか?
-
[解決済み】react router v^4.0.0 Uncaught TypeError: 未定義のプロパティ'location'を読み取れない
-
[解決済み】Selenium WebDriverでPythonを使用してWebElementのHTMLソースを取得する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】パッシブイベントリスナー内部でpreventDefaultができない
-
[解決済み] Uncaught Invariant Violation: 前のレンダリング中よりも多くのフックをレンダリングした
-
[解決済み】別のjsファイル内でJavaScriptの関数を呼び出す
-
[解決済み] エラー。モジュールhtmlが見つからない
-
[解決済み】Redux TypeError: 未定義のプロパティ 'apply' を読み取れない
-
[解決済み】Jestが予期しないトークンに遭遇した
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み】未定義のプロパティ 'forEach' を読み取ることができない
-
[解決済み】module.exports "モジュールが定義されていません"
-
[解決済み] [Solved] Uncaught Invariant Violation: 前のレンダリング中よりも多くのフックをレンダリングする