将鼠标悬停在该行后弹出一个按钮,我要单击删除按钮。我的代码不会发生什么,但不会产生任何错误。
尝试悬停然后选择并悬停然后单击隐藏的类
WebDriverWait waitPOSCashCollect = new WebDriverWait(driver, 10);
waitPOSCashCollect.until(ExpectedConditions.elementToBeClickable(pageModule));
driver.findElement(pageModule).click();
System.out.println("Successful in proceeding to POS Cash Collect Page");
driver.manage().timeouts().implicitlyWait(25,TimeUnit.SECONDS) ;
Actions hover = new Actions(driver);
WebElement Elem_to_hover = driver.findElement(By.className("imgdel"));
hover.moveToElement(Elem_to_hover);
hover.build();
hover.perform();
HTML
<tbody><tr class="tableheader" align="center"><td class="tdwid"></td><td>类<br>Type</td><td>总数<br>Total Amt</td><td>最后修改员<br>Last Modified By</td><td>日期<br>Date</td><td class="tddelete_header"></td></tr><tr contextmenu="rgb(214, 242, 255)" style="background-color: rgb(214, 242, 255); cursor: pointer;"><td class="tablerow tdwid"><span class="txtwid">100000000000015</span></td><td class="tablerow tdtype tdclick"><span class="spntype">Cash Beginning 初始现金</span></td><td class="tablerow tdtotalamount tdclick"><span class="spntotalamount">1,000.00</span></td><td class="tablerow tdlastmodifiedby tdclick"><span class="spnlastmodifiedby">superadmin</span></td><td class="tablerow tddatetimemodified tdclick"><span class="spndatetimemodified">2019-09-27 13:57:27</span></td><td class="tablerow tddelete"><img class="imgdel" style="display: none;" onclick="delete_fnc(this)" src="images/icondelete.png"></td></tr><tr contextmenu="rgb(255, 255, 255)" style="background-color: rgb(255, 255, 255); cursor: pointer;"><td class="tablerow tdwid"><span class="txtwid">100000000000016</span></td><td class="tablerow tdtype tdclick"><span class="spntype">Cash Beginning 初始现金</span></td><td class="tablerow tdtotalamount tdclick"><span class="spntotalamount">10.00</span></td><td class="tablerow tdlastmodifiedby tdclick"><span class="spnlastmodifiedby">superadmin</span></td><td class="tablerow tddatetimemodified tdclick"><span class="spndatetimemodified">2019-09-27 14:41:00</span></td><td class="tablerow tddelete"><img class="imgdel" style="display: none;" onclick="delete_fnc(this)" src="images/icondelete.png"></td></tr></tbody>
也尝试过
WebElement temp = driver.findElement(By.xpath("//*[@id=\"tbl\"]/tbody/tr[2]/td[6]/img"));
答案 0 :(得分:0)
尝试通过Actions类使用以下代码,
Actions actions = new Actions(driver);
WebElement deleteButton= driver.findElement(By.xpath(//*[@onclick='delete_fnc(this)']));
actions.moveToElement(deleteButton);
actions.click().build().perform();
答案 1 :(得分:0)
我认为您应该首先使该元素可见。
并且您可以使用操作来单击它。
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].style.display='block';", element);
或
直接用Javascript单击。
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].click();", element);