2016-11-05 53 views
0

This is my source code :如何從<a without text Javascript form using Selenium?

<a onclick="pd(event);" tabindex="0" issprite="true" data-ctl="Icon" 

style="overflow: hidden; background: transparent 

url("webwb/pygridicons_12892877635.png!!.png") no-repeat scroll 0px top; width: 

16px; height: 16px;" name="ManageStakeholder_pyWorkPage_202" 

title="Add a data " data-click="[["doGridAction", 

[":event","INSERTAFTER"]],["refresh", ["thisSection","", "", "&=", "", 

",",":event","","pyWorkPage"]]]" data-hover="[["changeStyle", 

[":event","background-position:0px -16px;", "1"]]]" 

onmouseover="pega.c.cbe.processBehavior(event, "data-hover")"></a> 

I need click to image (pygridicons_12892877635.png). I using Selenium with chromewebdriver and I look at the selection OK but the onclick from "a" HTML balise do not detected the click.

I see this: How to click Onclick Javascript form using Selenium?點擊Onclick解決方案是點擊文本<a ...> text </a>但在我的情況下,我沒有任何文字。

回答

0

我發現由JavaScript執行(從Java)中的溶液:

import org.openqa.selenium.JavascriptExecutor; 

String xpath = "//table[@param_name='SubSectionManage~pzLayout_3']//a[@title='Add a data ']"; 

((JavascriptExecutor) webDriver).executeScript("document.evaluate(\"" + xpath + "\", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.click();"); 

在這個例子中XPath是正常的xpath。重要元素 是executeScript(in java)and document.evaluate(in javascript)。

相關問題