【发布时间】:2018-10-04 01:23:03
【问题描述】:
我有以下 HTML 代码:
<td class="gnb_menu" id="MAIN_04" name="MAIN_04" style="width:100px;text-align:center;">
<span style="cursor:pointer;" onclick="javascript:movePage('MAIN_04','/basis/menuServlet.do?method=getMenuUrl','body','Y')">
<nobr>Business</nobr>
</span>
</td>
我正在尝试获取 span 标签的 XPath。我正在使用 Selenium 并尝试过这个:
cd.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
var d = cd.FindElementByXPath("//td[@id='MAIN_04']/span[@style='cursor:pointer;']");
d.Click();
但一直遇到错误:"OpenQA.Selenium.NoSuchElementException has been thrown",因为它无法找到元素/没有这样的元素。
我尝试了许多不同的 XPath (//*[@id='MAIN_04']/span)、(//td[@id='MAIN_04']/span) 等,但仍然无法做到这一点。我什至试图去掉隐式等待,因为我认为这是一个超时错误......我不知道。
请帮助我是新手,我很困惑。谢谢!
【问题讨论】:
-
XPath 是正确的。这与 XPath 无关。检查
table是否位于 iframe 内 -
先看看能不能顺利拿到
//td[@id='MAIN_04'];悬停菜单时也会出现跨度吗? -
@Andersson,刚刚检查,表格在 iframe 标记中。
-
@Ywapom ,FindElementById 只接受属性 cssvalue dashcode 属性和类型
标签: c# html selenium selenium-webdriver xpath