[英]How to click on one href which has certain words as text using selenium web driver java
我試圖單擊既沒有ID也沒有名稱的href。 它的文字為“事先保險證明”。 當我嘗試使用xpath
"webDriver.findElement(By.xpath("//form*[@name='plaRequiredDocumentsForm']/table[3]/tbody/tr[4]/td/table/tbody/tr/td/table/tbody/tr[2]/td[3]/a")).click()"
它在控制台中顯示“無法評估或未生成WebElement”。
網站代碼為:
<FORM method=post name=plaRequiredDocumentsForm>
<INPUT name=expVIPCacheKey value=null type=hidden>
<INPUT name=wintag value=1411453320424 type=hidden>
<DIV style="DISPLAY: none" id=signatureOptionSection>
<TABLE width=750>
<TBODY>
<TR>
<TD style="PADDING-LEFT: 10pt">
Signature Option : <INPUT class=bodytext onclick="javascript: setPageDataChangeIndicator(); toggleSignatueStatus(this)" name=signature value=ePad type=radio value2="" value1="">
E-Pad <INPUT class=bodytext onclick="javascript: setPageDataChangeIndicator(); toggleSignatueStatus(this)" name=signature value=ink CHECKED type=radio value2="" value1=""> Ink
</TD>
</TR>
</TBODY>
</TABLE>
</DIV>
<TABLE width=750>
<TBODY>
<TR>
<TD style="TEXT-ALIGN: right; PADDING-LEFT: 5pt; PADDING-RIGHT: 10pt">
<A onblur="if (this.children[0]) this.children[0].className='';window.defaultStatus=''" onfocus="if (this.children[0] != null) this.children[0].className='activeButton';window.defaultStatus='button exit '" onmouseover="window.status='button exit ';return true;" href="javascript:formExit()">
<IMG class=bodytext border=0 align=middle src="../../../images/button_exit.gif"></A> <A onblur="if (this.children[0]) this.children[0].className='';window.defaultStatus=''" onfocus="if (this.children[0] != null) this.children[0].className='activeButton';window.defaultStatus='button image center '" onmouseover="window.status='button image center ';return true;" href="javascript:imageCenterSubmit()"><IMG class=bodytext border=0 align=middle src="../../../images/image_center.gif"></A>
<A onblur="if (this.children[0]) this.children[0].className='';window.defaultStatus=''" onfocus="if (this.children[0] != null) this.children[0].className='activeButton';window.defaultStatus='button refresh '" onmouseover="window.status='button refresh ';return true;" href="javascript:refresh()">
<IMG class=bodytext border=0 align=middle src="../../../images/button_refresh.gif"></A>
</TD>
</TR>
</TBODY>
</TABLE>
<TABLE><BR>
<TBODY>
<TR>
<TD style="PADDING-LEFT: 10pt"><FONT color=red size=2>
<B>IMPORTANT:</B> Scanning into the Application of Insurance document type will automatically apply a copy to the Subscription Agreement document type if a Subscription Agreement is required. Each document will be approved independently. </FONT>
</TD>
</TR>
</TBODY>
</TABLE>
<TABLE class=surroundingTable border=1 width=750>
<TBODY>
<TR>
<TD colSpan=2>
<TABLE class=txnTable>
<TBODY>
<TR class=sectionHeader>
<TD>
<DIV style="FLOAT: left">Household Documents </DIV>
<DIV style="FLOAT: right"><A tabIndex=-1 href="javascript:openHelpTagWindow('/TR/eAgent/Ade/eauto.help.ade?req_page=help&TransType=NN&StateCode=OH&HelpTextId=H02710001')">
<IMG border=0 src="../../../images/icon_question_mark_green_cropped.gif" width=15 height=15></A>
</DIV>
</TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
<TR>
<TD colSpan=2>
<TABLE class=surroundingTable>
<TBODY>
<TR>
<TD>
<TABLE class=txnTable>
<TBODY>
<TR class=columnHeader>
<TD>Household Number</TD>
<TD>Document</TD>
<TD>Status</TD>
<TD>Customer Notified</TD>
<TD>Due Date</TD>
<TD>Signature</TD>
<TD></TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR><BR>
<TR>
<TD colSpan=2>
<TABLE class=txnTable>
<TBODY>
<TR class=sectionHeader>
<TD>
<DIV style="FLOAT: left">Client Documents </DIV>
<DIV style="FLOAT: right">
<A tabIndex=-1 href="javascript:openHelpTagWindow('/TR/help.ade?req_page=help&TransType=NN&StateCode=OH&HelpTextId=H02710002')">
<IMG border=0 src="../../../images/icon_question_mark_green_cropped.gif" width=15 height=15></A>
</DIV>
</TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
<TR>
<TD colSpan=2>
<TABLE class=surroundingTable>
<TBODY>
<TR>
<TD>
<TABLE class=txnTable>
<TBODY>
<TR class=columnHeader>
<TD>Client Name</TD>
<TD>Date of Birth</TD>
<TD>Document</TD>
<TD>Status</TD>
<TD>Customer Notified</TD>
<TD>Due Date</TD>
<TD>Signature</TD>
<TD></TD>
</TR>
<TR class=resultsOff>
<TD>KARTHICK KAMAL </TD>
<TD>December 24, 1986</TD>
<TD>
<A href="JavaScript:openDocumentWindow('null','A ','A0002','NR','CL',' 734383047','2566332','null','1611745392','734383047','false');">Affinity Discount Documentation </A>
</TD>
<TD>Not Received </TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD> </TD>
</TR>
<TR class=resultsOff>
<TD></TD>
<TD></TD>
<TD>
**<A href="JavaScript:openDocumentWindow('null','A ','A0054','NR','CL',' 734383047','2566332','null','1611745392','734383047','false');">Proof of Prior Insurance </A>**
</TD>
</TR>
請幫我解決這個問題。
使用'driver.findElements(By.cssLocator(“ td> a”))'方法獲取元素列表。
迭代所述列表中的每個元素,並獲取其中的文本,並將其與您期望的文本進行比較。 它匹配的位置就是您的元素,然后您可以對其進行操作。
使用以下XPath:
// a [包含(text(),'事先保險證明')]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.