私は最近、カスタムテキストボックスでclear()
を呼び出すと、テストの後半でテキストを入力するときに問題が発生するというSeleniumでの作業で問題に遭遇しました。テキストボックスは、(JavaScript
)browserEvents
、特にkeyDown
イベントをチェックします。 clear()
が物事に影響を与える可能性があるかどうかを確認するために何をするかを考えてみましたが、詳細を見つけることができないようです。
SeleniumのソースJavaバインディング clear()
はキーボードまたはマウスのシミュレーションを使用しないことを示します はテキストボックスからテキストを消去します。それは正確に何をしますか?
clear()
メソッドは "Automation Atom" を実行します。これは、ブラウザーの自動化機能の最小の基本単位を提供することを目的としたJavaScript関数です。 clear()
の場合、その関数は要素のvalue
プロパティを空の文字列( '')に設定し、要素でonchange
イベントを発生させます。興味のあるatom関数は bot.action.clear()
です
clear()
が正確に行うことは次のとおりです。この関数は、テキストボックスの値をクリアし、テキストボックスを有効にします。テキストフィールドにテキストを入力する前に、テキストフィールドをクリアして、有効にする必要があります。 clear ()
を使用しない場合、Seleniumを使用してテキストフィールドに値を入力することはできません。
driver.find_element_by_xpath(xpath).clear()
driver.find_element_by_xpath(xpath).send_keys("data")