ポップアップを開く編集リンクがあるページでWeb要素を繰り返し処理しようとしています。開いたポップアップには、単純な入力フィールドと適用/キャンセルボタンがあります。私のスクリプトでは、次のようにして入力フィールドにテキストを入力します。
def enter_text(self, text, action):
if self.is_element_present(self._input_locator):
self.selenium.find_element(*self._input_locator).send_keys(text)
if action == 'Apply':
self.selenium.find_element(*self._apply_button_locator).click()
elif action == 'Cancel':
self.selenium.find_element(*self._cancel_button_locator).click()
Chromeでスクリプトを実行すると、すべてが正常に機能し、すべてのWeb要素が検出され、入力テキストがフィールドに入力されます。しかし、Firefoxでまったく同じスクリプトを実行すると、入力フィールドと2つのボタンがあるポップアップウィンドウが開きます(つまり、Webdriverで表示されるようになります)が、テキストがフィールドに入力されないため、エラーが発生します。
ElementNotVisibleException: Message: u'Element is not currently visible and so may not be interacted with'
ポップアップが実際に開かれている(そして私はそれを見ることができる)が、Webdriverがポップアップが表示されていないことを通知した場合、なぜこれが発生する可能性がありますか?また、ポップアップが読み込まれ、テキストが入力されたことを確認するために、いくつかのスリープを設定しましたが、役に立ちませんでした。
どんな助けでもありがたいです。