2014-12-03 85 views
1

我一直在編寫一些selenium腳本,我從下拉列表中選擇一些選項。當我將鼠標懸停在父列表上時,它會顯示我可以從哪裏選擇選項的子項列表。這個功能對許多元素一直工作正常,但是我有一個導致'ElementNotVisibleException'的錯誤。href定位器只在一個元素中不能在Selenium中工作

我已經附上了我一直使用的代碼的2個例子。最重要的方法是工作,但第二個我遇到問題。如果有人能幫助我爲什麼我可能會得到這個錯誤,我將不勝感激。

WORKS

public static void creditNoteReportFocus(InternetExplorerDriver driver) 
{ 
    driver.findElement(By.xpath("//a[contains(@href, 'CreditNoteReport')]")).sendKeys(Keys.ENTER); 
} 

不起作用

public static void earlySettlementWorkflowFocus(InternetExplorerDriver driver) throws InterruptedException 
{ 
    driver.findElement(By.xpath("//a[contains(@href, 'EarlySettlementMatch?StartUpView=0')]")).sendKeys(Keys.ENTER); 
} 

SCREENSHOT enter image description here

代碼的HTML代碼片段

<div class="inner"> 
    <img alt="barney" runat="server" src="/DibsAndrew/images/chinook/gfx-topnav-left.gif"/> 
    <ul class="drop-down-menu sub-nav"> 
     <li> 
     <li> 
     <li> 
     <li> 
      <a class="highlighted" href="/DibsAndrew/CCLReports/Overall">Reports</a> 
      <ul id="ddm-86476" style="display: block;"> 
       <li> 
       <li> 
        <a class="highlighted" href="#">Collections</a> 
        <span>»</span> 
        <ul style="display: block;"> 
         <li> 
         <li> 
         <li> 
         <li> 
         <li> 
         <li> 
         <li> 
          <a class="highlighted" href="/DibsAndrew/ETCalculator/EarlySettlementMatch?StartUpView=0">Early Settlement Workflow</a> 
         </li> 
+0

請提供一個顯示相關元素的HTML代碼段,以便我們幫助您解決,謝謝。 – 2014-12-03 16:35:48

+0

嗨馬克,現在附上詳細信息。謝謝 – 2014-12-03 16:44:33

+0

截圖是**沒用**顯示代碼!在你的第二個XPath中,單引號外部的星號**假設是什麼? – SiKing 2014-12-03 16:45:44

回答

1

我不得不使用絕對xpath來解決這個問題。

相關問題