web-dev-qa-db-ja.com

Selenium Webdriver:テキストフィールドにテキストを入力する

テキストフィールドにテキストを入力すると削除されます。

コードは次のとおりです。

String barcode="0000000047166";

WebElement element_enter = _driver.findElement(By.xpath("//*[@id='div-barcode']"));

element_enter.findElement(By.xpath("//html/body/div[1]/div[3]/div[1]/form/div/div/input")).sendKeys("barcode");
26
Adnan Ghaffar

Subir Kumar SaoとFaizに同意します。

element_enter.findElement(By.xpath("//html/body/div[1]/div[3]/div[1]/form/div/div/input")).sendKeys(barcode);
30

テキストをフィールドに入力すると、テキストが自動的に削除される場合がありました。それは、フィールドにテキストを入力した後にEnterキーを押す必要があるサイトの機能のためでした。したがって、sendKeysメソッドを使用してバーコードテキストを送信した後、その直後に「enter」を送信します。 Selenium Keysクラスをインポートする必要があることに注意してください。以下の私のコードを参照してください。

import org.openqa.Selenium.Keys;

String barcode="0000000047166";
WebElement element_enter = driver.findElement(By.xpath("//*[@id='div-barcode']"));
element_enter.findElement(By.xpath("your xpath")).sendKeys(barcode);

element_enter.sendKeys(Keys.RETURN); // this will result in the return key being pressed upon the text field

私はそれが役立つことを願っています。

8
CODEBLACK

このコードを使用してください。

driver.FindElement(By.XPath(".//[@id='header']/div/div[3]/div/form/input[1]")).SendKeys("25025");
4
user3364839

有効な条件のJavaScriptチェックである可能性があります。
要件に応じてa/cを実行できる2つのこと:

  1. テキストボックスで有効な文字列入力を確認してください。
  2. または、そのテキストボックスに対してループを設定して、フォーム/リクエストを投稿するまで値を入力します。
String barcode="0000000047166";

WebElement strLocator = driver.findElement(By.xpath("//*[@id='div-barcode']"));
strLocator.sendKeys(barcode);
1
Kumar