Нажмите на скрытый элемент при наведении или любым способом, чтобы нажать на кнопку - PullRequest
0 голосов
/ 27 сентября 2019

Кнопка появляется после наведения курсора на строку, и я хочу нажать кнопку удаления.То, что происходит с моим кодом, ничего не значит, но оно не выдает никакой ошибки.

Попытка наведения, затем выбор и наведение, а затем нажмите скрытый класс

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

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Я думаю, что вы должны сделать элемент видимым первым.

И вы можете использовать Действия, чтобы щелкнуть по нему.

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].style.display='block';", element);

или

Щелкните по Javascript напрямую.

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].click();", element);
0 голосов
/ 27 сентября 2019

Попробуйте использовать приведенный ниже код, используя класс Actions,

Actions actions = new Actions(driver);
WebElement deleteButton= driver.findElement(By.xpath(//*[@onclick='delete_fnc(this)']));
actions.moveToElement(deleteButton);
actions.click().build().perform();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...