セレンウェブドライバーとルビーを使用しているIDのポップアップをクリックできません

ルーキー

以下は私が使用しているコードです

def self.yes_publish
      sleep 5
      driver.find_element(:id, 'dialogConfirmChanges-publishButton').displayed?
      WAIT.until { driver.find_element(:id, 'dialogConfirmChanges-publishButton') }.click        
      puts driver.find_element(:id, 'embed-left-center-part').displayed?
     end

しかし、私はそれをクリックすることができません。このIDはirbで正常に機能します。特定のタイムアウト後にwebdriverがウィンドウに近い要素を見つけることができないため、エラーモーダルダイアログが表示されます。このポップアップは、ページに加えられた変更を公開するためのものです。

xpath = .//*[@id='dialogConfirmChanges-publishButton']
Arup Rakshit

switch_toポップアップを処理するには、このメソッドを使用する必要がありますのドキュメントを見てくださいJavaScript dialogs

webdriverを使用して、Javascriptのalert()、prompt()、confirm()ダイアログを処理できます。3つすべてのAPIは同じです。

注:現時点では、アラート処理はFirefoxとIE(またはリモートサーバーを介したこれらのブラウザー)でのみ使用可能であり、オンロード後に生成されたアラートのみをキャプチャできます。

require "selenium-webdriver"

driver = Selenium::WebDriver.for :firefox
driver.navigate.to "http://mysite.com/page_with_alert.html"

driver.find_element(:name, 'element_with_alert_javascript').click
a = driver.switch_to.alert
if a.text == 'A value you are looking for'
  a.dismiss
else
  a.accept
end

編集

あなたが与えたコメントボックスのHTMLによると..私は以下がうまくいくと思います:

driver.find_element(:xpath,"//div[@class='ui-dialog-buttonset']/button[@id='dia‌​logConfirmChanges-publishButton']").click

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

セレンウェブドライバーを使用してドロップダウンの要素にアクセスできません

分類Dev

セレンウェブドライバーを使用してChrome拡張機能のポップアップにアクセスして処理する

分類Dev

Googleマーケットプレイスのアプリを更新できません-アカウントがこのクラウドプロジェクトまたはアプリと同じドメインに属していません

分類Dev

zookeeperを使用してクリックハウス3ノード循環クラスターをセットアップすると、クリックハウスレプリカ/サーバーが相互に接続できません

分類Dev

ネットワークがアップした後にサービスを開始しているときに、「クライアントクリティカルインターフェイスeth0 / 2がダウンしているか、リンクローカルアドレスがありません」

分類Dev

ネットワークがアップした後にサービスを開始しているときに、「クライアントクリティカルインターフェイスeth0 / 2がダウンしているか、リンクローカルアドレスがありません」

分類Dev

セレンウェブドライバー3.0.0-beta3を使用して完全なウェブページのスクリーンショットをキャプチャできません

分類Dev

バックボーンjs-json応答がドメインブックでラップされている場合、コレクションオブジェクトのフィールドをレンダリングできません

分類Dev

マルチスレッドUIWPFアプリでライブビジュアルツリーを操作する場合の「呼び出し元のスレッドはこのオブジェクトにアクセスできません」例外

分類Dev

applicationDidEnterBackgroundを使用してiOS7でアプリがバックグラウンドになると、ビューを更新できません。

分類Dev

「接続を取得できません」、プールエラー、アイドルオブジェクトを待機するタイムアウト、Webアプリケーションで250を超えるスレッドを作成しようとすると、

分類Dev

アプリをChromeウェブストアにアップロードできません-「このアイテムはアプリではありません。マニフェストからアプリセクションを削除してください。」

分類Dev

ドロップダウンセレクターを使用してダッシュアプリのグラフを更新できません

分類Dev

Jenkinsパイプラインのシェルスクリプトを介してansibleプレイブックを実行すると、エコー出力がバッファリングされ、リアルタイムで表示されません

分類Dev

サービスアカウントを使用してGoogleスプレッドシートにアクセスするときにコールバックが定義されていません

分類Dev

Python用のBigQueryAPIクライアントライブラリを使用しているときにネットワークにアクセスできません

分類Dev

ツイストブックのサンプルコードechoserver.pyを使用してツイストサーバーに接続しようとしています。エラーが発生しても複数のアドレスをリッスンできません

分類Dev

マルチスレッドサーバーは、複数のクライアントが接続しようとすると、「破棄されたオブジェクトにアクセスできません」というエラーを表示します

分類Dev

共有ポインタオブジェクトをSWIGでラップしても、クラスメンバー関数にアクセスできません

分類Dev

iTunes Connectでアプリを送信できません:「新しいアプリとアプリのアップデートは、Xcodeのパブリック(GM)バージョンでビルドする必要があります」

分類Dev

セレンウェブドライバーを使用してajaxドロップダウン値を選択できません

分類Dev

アプリがクラッシュしています。カスタムテーブルセルからビデオの2番目のインデックスをダウンロードしているとき

分類Dev

バルーンウィジェットのサンプルコードに対して、VTKが「vtkTextRendererオブジェクトを見つけることができませんでした」というエラーを表示するのはなぜですか?

分類Dev

ajaxを使用したサーバーアップロードディレクトリへのファイルアップロード。画像がアップロードディレクトリにアップロードされていません。接続リセットのエラーが発生する

分類Dev

ラベルをクリックして、ブートストラップチェックボックスレイアウトのチェックボックスを選択できません

分類Dev

セレンウェブドライバーでGmailの設定アイコンをクリックできません

分類Dev

Azureパイプラインを使用してVisualStudioでクラウドサービス(ccproj)プロジェクトをビルドするときに、エラー「ファイル形式ヘッダーが見つかりません」

分類Dev

IntelliJでAndroidプロジェクトを実行しようとしています:エラー:ビルドプロセスの異常終了:エラー:このJavaインスタンスは32ビットJVMをサポートしていません。

分類Dev

セレンウェブドライバーのポップアップウィンドウを拒否してブラウザを閉じる方法

Related 関連記事

  1. 1

    セレンウェブドライバーを使用してドロップダウンの要素にアクセスできません

  2. 2

    セレンウェブドライバーを使用してChrome拡張機能のポップアップにアクセスして処理する

  3. 3

    Googleマーケットプレイスのアプリを更新できません-アカウントがこのクラウドプロジェクトまたはアプリと同じドメインに属していません

  4. 4

    zookeeperを使用してクリックハウス3ノード循環クラスターをセットアップすると、クリックハウスレプリカ/サーバーが相互に接続できません

  5. 5

    ネットワークがアップした後にサービスを開始しているときに、「クライアントクリティカルインターフェイスeth0 / 2がダウンしているか、リンクローカルアドレスがありません」

  6. 6

    ネットワークがアップした後にサービスを開始しているときに、「クライアントクリティカルインターフェイスeth0 / 2がダウンしているか、リンクローカルアドレスがありません」

  7. 7

    セレンウェブドライバー3.0.0-beta3を使用して完全なウェブページのスクリーンショットをキャプチャできません

  8. 8

    バックボーンjs-json応答がドメインブックでラップされている場合、コレクションオブジェクトのフィールドをレンダリングできません

  9. 9

    マルチスレッドUIWPFアプリでライブビジュアルツリーを操作する場合の「呼び出し元のスレッドはこのオブジェクトにアクセスできません」例外

  10. 10

    applicationDidEnterBackgroundを使用してiOS7でアプリがバックグラウンドになると、ビューを更新できません。

  11. 11

    「接続を取得できません」、プールエラー、アイドルオブジェクトを待機するタイムアウト、Webアプリケーションで250を超えるスレッドを作成しようとすると、

  12. 12

    アプリをChromeウェブストアにアップロードできません-「このアイテムはアプリではありません。マニフェストからアプリセクションを削除してください。」

  13. 13

    ドロップダウンセレクターを使用してダッシュアプリのグラフを更新できません

  14. 14

    Jenkinsパイプラインのシェルスクリプトを介してansibleプレイブックを実行すると、エコー出力がバッファリングされ、リアルタイムで表示されません

  15. 15

    サービスアカウントを使用してGoogleスプレッドシートにアクセスするときにコールバックが定義されていません

  16. 16

    Python用のBigQueryAPIクライアントライブラリを使用しているときにネットワークにアクセスできません

  17. 17

    ツイストブックのサンプルコードechoserver.pyを使用してツイストサーバーに接続しようとしています。エラーが発生しても複数のアドレスをリッスンできません

  18. 18

    マルチスレッドサーバーは、複数のクライアントが接続しようとすると、「破棄されたオブジェクトにアクセスできません」というエラーを表示します

  19. 19

    共有ポインタオブジェクトをSWIGでラップしても、クラスメンバー関数にアクセスできません

  20. 20

    iTunes Connectでアプリを送信できません:「新しいアプリとアプリのアップデートは、Xcodeのパブリック(GM)バージョンでビルドする必要があります」

  21. 21

    セレンウェブドライバーを使用してajaxドロップダウン値を選択できません

  22. 22

    アプリがクラッシュしています。カスタムテーブルセルからビデオの2番目のインデックスをダウンロードしているとき

  23. 23

    バルーンウィジェットのサンプルコードに対して、VTKが「vtkTextRendererオブジェクトを見つけることができませんでした」というエラーを表示するのはなぜですか?

  24. 24

    ajaxを使用したサーバーアップロードディレクトリへのファイルアップロード。画像がアップロードディレクトリにアップロードされていません。接続リセットのエラーが発生する

  25. 25

    ラベルをクリックして、ブートストラップチェックボックスレイアウトのチェックボックスを選択できません

  26. 26

    セレンウェブドライバーでGmailの設定アイコンをクリックできません

  27. 27

    Azureパイプラインを使用してVisualStudioでクラウドサービス(ccproj)プロジェクトをビルドするときに、エラー「ファイル形式ヘッダーが見つかりません」

  28. 28

    IntelliJでAndroidプロジェクトを実行しようとしています:エラー:ビルドプロセスの異常終了:エラー:このJavaインスタンスは32ビットJVMをサポートしていません。

  29. 29

    セレンウェブドライバーのポップアップウィンドウを拒否してブラウザを閉じる方法

ホットタグ

アーカイブ