我使用Selenium網絡驅動程序,並嘗試點擊搜索圖像,它無法點擊此。我不確定發生了什麼問題。我曾嘗試Selenium:無法點擊課程和圖像
的XPath選項
driver.findElement(By.xpath("//form/div/div/div/div/div[2]/table/tbody/tr/td[2][@class='icon-button combo-button']")).click();
還試圖圖像
driver.findElement(By.xpath("//form/div/div/div/div/div[2]/table/tbody/tr/td[2]/img[contains(@src,'iconActionSearch.png')]")).click();
我已經試過完全相同的硒IDE
driver.findElement(By.xpath("//div[@id='divToolbar']/div[2]/table/tbody/tr/td[2]/img")).click();
這就是上面的代碼是假設採取行動
<td class="icon-button combo-button" title="Search">
<img src="../common/images/iconActionSearch.png">
這是HTML片段,我有
<!DOCTYPE html>
<html>
<head>
<body class="navigator" onbeforeunload="closeAllChildWindows()" onload="initializeSlideIns()">
<div class="mmenu" style="display: none;">
<div class="mmenu" style="display: none;">
<div class="mmenu" style="display: none;">
<div class="mmenu" style="display: none;">
<div class="mmenu" style="display: none;">
<div class="mmenu" style="display: none;">
<div class="mmenu" style="display: none;">
<div class="mmenu" style="display: none;">
<div class="mmenu" style="display: none;">
<div class="mmenu" style="display: none;">
<div class="mmenu" style="display: none;">
<div class="mmenu" style="display: none;">
<div class="mmenu" style="display: none;">
<div class="mmenu" style="display: none;">
<div class="mmenu" style="display: none;">
<form name="navigatorForm">
<div id="pageHeadDiv">
<div class="toolbars">
<div class="toolbar-container">
<div id="divToolbar" class="toolbar-frame">
<div class="toolbar">
<div class="toolbar functions">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="icon-button" nowrap="" itemid="emx567127522162.935" title="Home">
<td class="icon-button combo-button" title="Search">
<img src="../common/images/iconActionSearch.png">
</td>
<td class="menu-arrow" title="Search">
<td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="breadcrumbs">
<script src="./scripts/emxBreadcrumbs.js" type="text/javascript">
<script src="./scripts/emxQuery.js" type="text/javascript">
<script type="text/javascript">
<div id="pageContentDiv" style="top: 62px;">
<div id="layerOverlay" style="display: none;"></div>
<div id="panelSlideIn" class="dialog viewer" style="top: 62px; display: none;">
<div id="windowshadeMask" style="z-index: 50; display: none;">
</form>
<div id="checkoutdiv">
</body>
</html>
感謝尤金您的回答,事實上它仍然無法正常工作。我明白webelement是存在的,因爲沒有NoSuchElementException異常,但不知道爲什麼它不可點擊。 – user981116
NoSuchElementException在兩種情況下出現:或者找不到元素的位置。如我在文章中提到的那樣,通過驗證螢火蟲中的定位器解決了這個問題。其他可能的問題 - 元素不呈現,你想在非呈現元素上進行交互。解決方案:嘗試使用顯式或隱式等待機制,例如 driver.manage.timeout.implicitWait(3,TimeUnit.SECONDS); –
謝謝,你說得對。它似乎是我嘗試點擊的元素沒有正確呈現。隱含的等待完成了這項工作。 – user981116