Selenium webdriver使用Web驱动程序的Java代码,用于双击网格中的记录
如何使用Web驱动程序在记录上为doubleClick()
编写selenium java代码?
我在身体部位显示了一些记录。 一旦我点击了一条记录,我们就会得到一个弹出窗口来更新它。
请建议如何使用Web驱动程序编写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();
使用Actions类可以使用WebDriver在WebElements上执行鼠标,键盘操作。
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;
实际上,它应该适用于大多数情况下(除了你有一些自定义系统双击设置)
WebElement element = driver.findElement(selector); Actions builder = new Actions(driver); builder.doubleClick(element).perform();
我实现了Ran(在我的post之上)解决方案。 我在Eclipse中编写Java并使用Selenium WebDriver。
您需要2个import:
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();
感谢Ran! 几个小时我一直在努力解决这个问题。 调用两次单击对我来说不起作用 – 双击之间被测试浏览器捕获的事件之间的时间太长。
您可以使用WebDriver的Actions类来执行复合操作,如双击,拖放,hover等。
//创建一个Actions类的实例,传递当前的驱动程序实例。
Actions builder = new Actions(driver);
方式1:
//获取一个Action类对象,该对象包含一个动作/一组动作
Action action = builder.doubleClick(element);
//使用build()构建一组操作/单个操作,并使用perform()方法在浏览器上执行。
action.build().perform();
方式2:
//直接在Actions类实例上调用build()和perform()方法
builder.doubleClick().build().perform();