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();