web-dev-qa-db-ja.com

WebElement.clear()はTextBoxに対して何をしますか?

私は最近、カスタムテキストボックスでclear()を呼び出すと、テストの後半でテキストを入力するときに問題が発生するというSeleniumでの作業で問題に遭遇しました。テキストボックスは、(JavaScriptbrowserEvents、特にkeyDownイベントをチェックします。 clear()が物事に影響を与える可能性があるかどうかを確認するために何をするかを考えてみましたが、詳細を見つけることができないようです。

SeleniumのソースJavaバインディング clear()はキーボードまたはマウスのシミュレーションを使用しないことを示します はテキストボックスからテキストを消去します。それは正確に何をしますか?

14
joshin4colours

clear()メソッドは "Automation Atom" を実行します。これは、ブラウザーの自動化機能の最小の基本単位を提供することを目的としたJavaScript関数です。 clear()の場合、その関数は要素のvalueプロパティを空の文字列( '')に設定し、要素でonchangeイベントを発生させます。興味のあるatom関数は bot.action.clear() です

31
JimEvans

clear()が正確に行うことは次のとおりです。この関数は、テキストボックスの値をクリアし、テキストボックスを有効にします。テキストフィールドにテキストを入力する前に、テキストフィールドをクリアして、有効にする必要があります。 clear ()を使用しない場合、Seleniumを使用してテキストフィールドに値を入力することはできません。

driver.find_element_by_xpath(xpath).clear()
driver.find_element_by_xpath(xpath).send_keys("data")
1
Kv.senthilkumar