Testing 如何使用XPATH访问TR内的链接

Testing 如何使用XPATH访问TR内的链接,testing,selenium,xpath,selenium-webdriver,Testing,Selenium,Xpath,Selenium Webdriver,此HTML代码具有目标菜单,您需要选择一个目标。其中一个目标是任何要继续此过程的目标 <tr id="mainForm:nav-panel-tab-set:0:trigger-selectTable:0" class=" iceRowSelMouseOver" tabindex="0" onmouseover="this.className=' iceRowSelMouseOver';" onmouseout="Ice.enableTxtSelection(document.body);

此HTML代码具有目标菜单,您需要选择一个目标。其中一个目标是任何要继续此过程的目标

<tr id="mainForm:nav-panel-tab-set:0:trigger-selectTable:0" class=" iceRowSelMouseOver" tabindex="0" onmouseover="this.className=' iceRowSelMouseOver';" onmouseout="Ice.enableTxtSelection(document.body); this.className='iceDatTblRow1 selectable-rowRow1 iceRowSel'" onmousedown="return Ice.preventTextSelection(event);" ondblclick="Ice.registerDblClick(this);" onclick="Ice.registerClick(this,'mainForm:nav-panel-tab-set:0:trigger-selectTableclick_row','mainForm:nav-panel-tab-set:0:trigger-selectTableclick_count','0','mainForm',200,true,event,false,'mainForm:nav-panel-tab-set:0:trigger-selectTablesel_rows','');">
<td class="iceDatTblCol1 selectable-rowCol1" scope="row">
<a id="mainForm:nav-panel-tab-set:0:trigger-selectTable_idx_0" class="iceHdnLnk" onfocus="return Ice.tblRowFocus(this, false);" onblur="return Ice.tblRowBlur(this);" href="#">
<img alt="" src="/ice/xmlhttp/css/xp/css-images/spacer.gif"/>
</a>
<span id="mainForm:nav-panel-tab-set:0:trigger-selectTable:0:j_idt1417" class="iceOutTxt">ANY TARGET</span>
</td>
<td class="iceDatTblCol2 selectable-rowCol2">
<span id="mainForm:nav-panel-tab-set:0:trigger-selectTable:0:j_idt1419" class="iceOutTxt select-icon">»</span>
</td>
</tr>

但是,我没有得到任何响应,没有向我的主窗口添加任何目标,或者我使用了您提到的解决方案。

您可以访问包含“任何目标”的
span

您可以将其扩展到包含“任意目标”的
td
之后的
td
中包含“>>”的
span


试着关注第一个TD,然后单击跨度元素

            IWebElement td = browser_drive.FindElement(By.Id("mainForm:nav-panel-tab-set:0:trigger-selectTable:0")).FindElements(By.TagName("td"))[0];
            IWebElement anytext = td.FindElement(By.Id("mainForm:nav-panel-tab-set:0:trigger-selectTable:0:j_idt1417"));

            OpenQA.Selenium.Interactions.Actions act = new OpenQA.Selenium.Interactions.Actions(browser_drive);
            act.MoveToElement(td).Click(anytext);

(使用C#编码,必须有一个替代。伪代码,不符合要求)

@kjhughes谢谢,但我在文件中遇到了这个问题
语法错误:非ASCII字符'\xc2'
。此问题指向“>>”,我认为此新的“\xc2”错误是另一个问题。找到并消除特殊字符,或者尝试将“#coding=utf-8”放在python源代码的顶部,以避免出现错误。另请参阅此或@alecxe的好答案。谢谢您,这很好。最后:)。此代码是正确的
//td[span[text()=“ANY TARGET”]]/以下同级::td[1]/span[text()=“>>”]
//*[@id='mainForm:nav-panel-tab-set:0:j_idt1331']
//span[text() = "ANY TARGET"]
//td[span[text() = "ANY TARGET"]]/following-sibling::td[1]/span[text() = ">>"]
            IWebElement td = browser_drive.FindElement(By.Id("mainForm:nav-panel-tab-set:0:trigger-selectTable:0")).FindElements(By.TagName("td"))[0];
            IWebElement anytext = td.FindElement(By.Id("mainForm:nav-panel-tab-set:0:trigger-selectTable:0:j_idt1417"));

            OpenQA.Selenium.Interactions.Actions act = new OpenQA.Selenium.Interactions.Actions(browser_drive);
            act.MoveToElement(td).Click(anytext);