2014-01-17 28 views
0

使用连结文字来浏览我从硒IDE下面的C#代码:无法在硒C#

driver.FindElement(By.LinkText("Sub Link 1")).Click(); 

但由于它不工作,我修改下面的代码等。它仍然没有工作。

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); 
IWebElement element = wait.Until(ExpectedConditions.ElementExists(By.LinkText("Main Link 1"))); 
if (element != null) 
{ 
    var innerElement = wait.Until(ExpectedConditions.ElementExists(By.PartialLinkText( 
     "Sub Link 1"))); 
} 

可能是什么问题?

我的HTML:

<html> 
    <a href="#nav" title="Show navigation">Show navigation</a> 
    <a href="#" title="Hide navigation">Hide navigation</a> 
    <div id="navlogo"><a title="HOME" href="url"> 
     <span style="position:absolute;width:100%;height:100%;top:0;left: 0;"> 
     </span></a></div> 
    <ul class="clearfix"> 
     <li><a href="">MXLMain1</a> 
     <ul> 
     <li><a href="">ML1</a> 
     </li> 
     <li><a href="">ML2</a> 
     </li> 
     </ul> 
    </li> 
    <li><a href="">MXLMain2</a> 
    <ul> 
     <li><a href="">MK2</a> 
     </li> 
    </ul> 
    </li> 
    <li><a href="">Main Link 1</a> 
    <ul> 
     <li><a href="">Sub Link 1</a> 
     </li> 
     <li><a href="">Sub Link 2</a> 
     </li> 
    </ul> 
    </li> 
.......................... 
</html> 
+0

我记得我曾与一些linktext的问题,它永远不会找到我所需要的,所以每次当我想要搜索与文本的东西,我使用XPath为//一个[文本( )='Sub Link 1'] –

+0

您是否尝试了By.PartialLinkText。有时文本周围的空间不会让确切的元素找到。 –

+0

“不工作”是指*什么*?什么错误? – Arran

回答

0

关于使用XPath如何?

driver.FindElement(By.XPath("//a[.='Sub Link 1")).Click();