1

私は、joda time を入力している Web サイトに 3 つのフィールドを持っています。Firefox では、すべて問題なく動作します。ただし、IE では、IRB の有効期限日フィールドが入力されますが、開始日と終了日フィールドは入力されません。何かご意見は?これはIE9です。joda time の最新バージョンに更新しましたが、まだ満足できません。WebDriver と IEDriver を 2.37 に更新しました。コンソールに送信すると、時刻が正しく出力されています。

//Enter an IRB Expiration Date - This is the one which works
WebElement irbExpCP = driver.findElement(By.id("irbExpDate"));
irbExpCP.click();
LocalDate irbDate = LocalDate.now().plusYears(5);
DateTimeFormatter formatter = DateTimeFormat.forPattern("MM/dd/yyyy");
String irbDate2 = formatter.print(irbDate);
irbExpCP.sendKeys(irbDate2);

//Enter a Start Date
WebElement startDateCP = driver.findElement(By.id("startDate"));
startDateCP.click();
LocalDate startDate = LocalDate.now();
String startDate2 = formatter.print(startDate);
startDateCP.sendKeys(startDate2);

//Enter an End Date
WebElement endDateCP = driver.findElement(By.id("endDate"));
endDateCP.click();
LocalDate endDate = LocalDate.now().plusYears(10);
String endDate2 = formatter.print(endDate);
endDateCP.sendKeys(endDate2);
4

2 に答える 2

3

解決策:方法で試しActions ClassてくださいsendKeys()

Actions action = new Actions(driver);
action.sendKeys(yourElement, textToEnter).build().perform();

注 : IE では、ほとんどの場合sendsKeys()、半文字または 1 文字をランダムに出力します。上記のソリューションにより、この問題を解決できます。

于 2013-10-25T06:58:27.803 に答える
0

There are two cases that I can think of:

1.) Make sure you are able to select and get focus on the elements. Sometimes you may need to focus on the element before entering something in it. So try to get focus on the elements using this method (just an example)

    driver.findElement(By.id("myid")).click();
    driver.findElement(By.id("myid")).sendKeys("text");

If this was the case this should work fine.

2.) Other case my be due to the IEDriver architecture. I had core i5 and was trying on IEDriver for 64 bit, which caused several problems, (like sendkeys was working very slowly around 3-4 seconds before tying next letter). So just try changing the IEDriver if this is the case.

于 2013-10-25T04:31:36.747 に答える