PythonでSeleniumを使用してメールポップアッププロンプトを処理する

epair

Pythonでこれを回避する方法がわかりません。電子メールポップアップは、ポップアップがフッターリンクの表示をブロックするため、Seleniumがフッターリンクの1つをクリックするのを妨げています。理想的には「X」をクリックしてメールを入力したくないです。

プロンプトに関するSeleniumのドキュメントにあるものを使用しようとしましたが、どれも機能しなかったか、おそらく正しく実装していませんでした。コメントアウトされたコードで確認できるスタックオーバーフローですでに見つけたもののいくつかを試しましたが、あらゆる種類のエラーが発生し続けました。

import requests
from urllib.parse import urljoin
from bs4 import BeautifulSoup
from urllib.request import urlopen as uReq
from selenium.webdriver.support.ui import WebDriverWait
from selenium import webdriver
from selenium.webdriver.support import ui
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

url = "https://www.standardmedia.co.ke/"
driver = webdriver.Chrome()
driver.get(url)
html = driver.page_source.encode('utf-8')
page_num = 0
##options = Firefox_options();
##options.addPreference("dom.disable_beforeunload", true)
##driver = webdriver.Firefox(options);

#click on the headings in the footer
for i in range (0,1):
    footer = driver.find_elements_by_css_selector('#top-footer li')[i]
    ##    if(driver.switch_to.alert != null):
    ##        alert = driver.switch_to.alert
    ##        alert.dismiss()
    try:
        WebDriverWait(driver, 10).until(EC.alert_is_present())
        alert = driver.switch_to_alert()
        alert.dismiss()
        print("Alert dismissed.")
    except TimeoutException:
        print("No alert.")
    footer.click()
    print("alert dismissed")
    page_num += 1
    subheadings = driver.find_elements_by_css_selector('.title a')
len(subheadings)

Firefox Webドライバーの最新のエラーは、「ターゲットマシンがアクティブに拒否したため、接続できませんでした」でした。

ドミトリT

WebDriver Alertクラスは、JavaScriptアラートと連携して次のことを行うように設計されています。

このモーダルポップアップをテストしようとしているページは正常です <div>

ここに画像の説明を入力してください

したがって、Alertクラスを使用することはできません。通常は、find_element()関数を使用して閉じるボタンを見つけてクリックする必要があります。

  1. ページを開く

    driver.get("https://www.standardmedia.co.ke/")
    
  2. ポップアップが表示されるのを待ちます

    popup = WebDriverWait(driver, 10).until(expected_conditions.presence_of_element_located((By.CLASS_NAME, "mc-closeModal")))
    
  3. 閉じるボタンをクリックします

    popup.click()
    

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PythonでSeleniumを使用して「AcceptCookies」ポップアップを処理する

分類Dev

Javaを使用してSelenium WebDriverでポップアップを処理する方法

分類Dev

Selenium Webdriverを使用してExcelをダウンロードしながら、Firefoxでダウンロードポップアップを処理する方法

分類Dev

SeleniumとJavaを使用してブラウザのログインポップアップを処理する方法

分類Dev

python(plus java)を使用してSeleniumでWindows認証ポップアップを処理する方法

分類Dev

python(plus java)を使用してSeleniumでWindows認証ポップアップを処理する方法

分類Dev

Selenium と Python を使用してポップアップでログインする

分類Dev

セレンPythonでポップアップを処理する

分類Dev

セレンPythonでポップアップを処理する

分類Dev

Javaを使用してSeleniumでブラウザ通知ポップアップを処理する方法は?

分類Dev

Pythonで自動化するときにSeleniumを使用してMicrosoftOutlookアプリのポップアップを処理する方法

分類Dev

SeleniumとJavaを使用してeコマースWebサイトhttps://www.firstcry.com内でポップアップを処理する方法

分類Dev

java-seleniumでcucumberbddフレームワークを使用してブートストラップドロップダウンを処理する方法

分類Dev

Selenium WebDriverを使用してWindowsファイルのアップロードを処理する方法

分類Dev

サンプルログメッセージを手動でlogstashにパイプして処理する方法

分類Dev

PythonでSeleniumを使用してポップアップアラートを確認する方法

分類Dev

VBA-IEオートメーションでJavascriptポップアップを処理する

分類Dev

処理中にメッセージをポップアップする方法-python

分類Dev

Python Flaskを使用してCSVファイルをアップロードして処理する

分類Dev

Seleniumを使用してhtml5制約検証ポップアップを処理する方法は?

分類Dev

autoITを使用してFirefoxで「アプリケーションの起動」ポップアップウィンドウを処理する方法

分類Dev

Selenium Webdriver を使用してアラートの処理がポップアップ ウィンドウに表示される

分類Dev

マルチプロセッシングを使用してパワーセットを反復処理する

分類Dev

HDFSHadoopマップでインクリメンタルアップデートを処理する方法-Reduce

分類Dev

Reactルーティング-ルートを使用してポップアップをロードする方法

分類Dev

HTMLポップアップを処理するSelenium

分類Dev

メインゲームループでキーアップイベントを処理する方法は?

分類Dev

ReactJsアプリケーション内でwebpackを使用してアセットを処理する

分類Dev

Chrome拡張機能でメッセージパッシングを使用してキーアップイベントを処理する

Related 関連記事

  1. 1

    PythonでSeleniumを使用して「AcceptCookies」ポップアップを処理する

  2. 2

    Javaを使用してSelenium WebDriverでポップアップを処理する方法

  3. 3

    Selenium Webdriverを使用してExcelをダウンロードしながら、Firefoxでダウンロードポップアップを処理する方法

  4. 4

    SeleniumとJavaを使用してブラウザのログインポップアップを処理する方法

  5. 5

    python(plus java)を使用してSeleniumでWindows認証ポップアップを処理する方法

  6. 6

    python(plus java)を使用してSeleniumでWindows認証ポップアップを処理する方法

  7. 7

    Selenium と Python を使用してポップアップでログインする

  8. 8

    セレンPythonでポップアップを処理する

  9. 9

    セレンPythonでポップアップを処理する

  10. 10

    Javaを使用してSeleniumでブラウザ通知ポップアップを処理する方法は?

  11. 11

    Pythonで自動化するときにSeleniumを使用してMicrosoftOutlookアプリのポップアップを処理する方法

  12. 12

    SeleniumとJavaを使用してeコマースWebサイトhttps://www.firstcry.com内でポップアップを処理する方法

  13. 13

    java-seleniumでcucumberbddフレームワークを使用してブートストラップドロップダウンを処理する方法

  14. 14

    Selenium WebDriverを使用してWindowsファイルのアップロードを処理する方法

  15. 15

    サンプルログメッセージを手動でlogstashにパイプして処理する方法

  16. 16

    PythonでSeleniumを使用してポップアップアラートを確認する方法

  17. 17

    VBA-IEオートメーションでJavascriptポップアップを処理する

  18. 18

    処理中にメッセージをポップアップする方法-python

  19. 19

    Python Flaskを使用してCSVファイルをアップロードして処理する

  20. 20

    Seleniumを使用してhtml5制約検証ポップアップを処理する方法は?

  21. 21

    autoITを使用してFirefoxで「アプリケーションの起動」ポップアップウィンドウを処理する方法

  22. 22

    Selenium Webdriver を使用してアラートの処理がポップアップ ウィンドウに表示される

  23. 23

    マルチプロセッシングを使用してパワーセットを反復処理する

  24. 24

    HDFSHadoopマップでインクリメンタルアップデートを処理する方法-Reduce

  25. 25

    Reactルーティング-ルートを使用してポップアップをロードする方法

  26. 26

    HTMLポップアップを処理するSelenium

  27. 27

    メインゲームループでキーアップイベントを処理する方法は?

  28. 28

    ReactJsアプリケーション内でwebpackを使用してアセットを処理する

  29. 29

    Chrome拡張機能でメッセージパッシングを使用してキーアップイベントを処理する

ホットタグ

アーカイブ