Selenium WebDriver: я хочу перезаписать значение в поле вместо добавления к нему с помощью sendKeys с использованием Java - PullRequest
63 голосов
/ 14 июля 2010

В WebDriver, если я использую sendKeys, он добавит мою строку к значению, которое уже существует в поле. Я не могу очистить его с помощью метода clear (), потому что во второй раз, когда я это делаю, веб-страница выдаст ошибку, говорящую, что она должна быть между 10 и 100. Поэтому я не могу очистить ее, иначе ошибка будет выдана Я могу добавить новое значение с помощью sendKeys, и если я отправлю sendKeys, он просто добавит его к уже существующему значению.

Есть ли в WebDriver что-нибудь, что позволяет перезаписывать значение в поле?

Ответы [ 11 ]

0 голосов
/ 05 июня 2015

Это решило мою проблему, когда мне пришлось работать со страницей HTML со встроенным JavaScript

WebElement empSalary =  driver.findElement(By.xpath(PayComponentAmount));
Actions mouse2 = new Actions(driver);
mouse2.clickAndHold(empSalary).sendKeys(Keys.chord(Keys.CONTROL, "a"), "1234").build().perform();

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].onchange()", empSalary);
...