Selenium webdriver Java-код с использованием веб-драйвера для двойного щелчка записи в сетке
Как написать код selenium java для doubleClick()
на записи с помощью веб-драйвера?
я отобразил некоторые записи в части тела. Как только я нажал на запись, мы должны получить всплывающее окно для ее обновления.
пожалуйста, предложите, как написать код Selenium Java с помощью веб-драйвера.
Я пробовал следующий код:
Actions action = new Actions(driver);
action.moveToElement(driver.findElement(By.xpath("//table/tbody/tr[2]/td/div/div/table/tbody/tr[10]/td[1]"))).doubleClick().build().perform();
8 ответов
использовать действия класс для выполнения действий мыши, клавиатуры на веб-элементах с помощью WebDriver.
Actions action = new Actions(driver);
WebElement element=driver.findElement(By.linkText("TEST"));
//Double click
action.doubleClick(element).perform();
//Mouse over
action.moveToElement(element).perform();
//Right Click
action.contextClick(element).perform();
вы должны использовать Actions()
класс, поскольку это включает в себя действие "двойной щелчок".
Actions action = new Actions(driver);
action.moveToElement(driver.findElement(By.linkText("Test"))).doubleClick().build().perform();
Actions action = new Actions(driver);
action.moveToElement(driver.findElement(By.xpath("//table/tbody/tr[2]/td/div/div/table/tbody/tr[10]/td[1]"))).doubleClick().perform();
этот код работает!!!
попробуйте этот код:
Actions action = new Actions(driver);
WebElement btnElement=driver.findElement("Locator of element"));
action.doubleClick(btnElement).build().perform();
и если у вас нет дополнительных действий, привязанных к singleclick, вы можете использовать:
driver.findElement(By.xpath("%youXPath%"))).click;
driver.findElement(By.xpath("%youXPath%"))).click;
на самом деле, он должен работать в большинстве случаев (за исключением некоторых пользовательских настроек системы doubleclick)
WebElement element = driver.findElement(selector);
Actions builder = new Actions(driver);
builder.doubleClick(element).perform();
я реализовал решение Ran (непосредственно над моим сообщением). Я пишу Java в Eclipse и использую Selenium WebDriver.
есть 2 импорта, которые вам понадобятся:
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
затем я реализовал код так:
WebElement element = driver.findElement(By.xpath("/html/body/div[1]/div/div/div[2]/div[1]/div[3]/div[8]/div[2]/div/div[2]/div/table/tbody/tr[2]"));
Actions builder = new Actions(driver);
builder.doubleClick(element).perform();
спасибо побежал! Я боролась с этим уже несколько часов. Вызов одного щелчка дважды не работает для меня-слишком много времени между событиями, которые будут захвачены тестируемым браузером как двойной щелчок.
вы можете использовать действия класс WebDriver для выполнения составных действий, таких как двойной щелчок, перетаскивание, наведение etc.
/ / создает экземпляр класса действий, передавая текущий экземпляр драйвера.
Actions builder = new Actions(driver);
Способ 1:
/ / получает объект класса действий, который содержит действие / набор действия
Action action = builder.doubleClick(element);
/ / создает набор действий / одно действие с помощью build() и выполняется в браузере с помощью метода perform ().
action.build().perform();
Способ 2:
/ / вызывает методы build () и perform () непосредственно на экземпляре класса действий
builder.doubleClick().build().perform();