2016-06-28 24 views
0

セレンは元素を見つけることができません。 PageHeader_logourlでIDを見つけようとしています xpath式で要素を見つけることができません。セレンは元素を見つけることができません

私はここで

何も悪いことをやっているhtmlコードここ

<DIV id="page" class="page"> 
<DIV id="wrapper" class="wrapper"> 
    <DIV id="header" class="header"> 
     <TABLE width="100%" height="40" cellspacing="0" cellpadding="0" border="0" ID="Table2"> 
      <TR> 
       <TD> 
        <TABLE height="40" cellspacing="0" cellpadding="0" border="0" ID="Table3"> 
         <TR> 
          <TD><a href="http://www.scania.com" id="PageHeader_logoUrl" tabIndex="-1" target="_blank"><span id="HeaderLogoImage"></span></a></TD> 
          <TD valign="middle"><label id="PageHeader_lblProjectName" class="projectname">Scania Trucks – SSS 4 TestR1</label></TD> 

は私のセレンコードのスナップショットです。

driver.findElement(By.xpath("//input[@name='UserNameInputText']")).sendKeys(username); 
    driver.findElement(By.xpath("//input[@name='Brand']")).sendKeys(password); 
    driver.findElement(By.xpath("//input[@name='CmdLogin']")).click(); 
    Assert.assertTrue(isuserloggedin(),"Login failed"); 
} 

public boolean isuserloggedin() 
{ 
    boolean flag = false; 
    if (!driver.findElements(By.id("Cancel")).isEmpty() || 
     driver.findElement(By.xpath("//a[@id=['PageHeader_logoUrl']")).isDisplayed()); 
    { 
     flag = true; 
    } 


return flag; 
+1

「findelement(By.id( 'PageHeader_logoUrl')」)を使用しないのはなぜですか? – RemcoW

答えて

0

余分な1の誤差があるようです[あなたのxpathにあります。私も

by.Xpath("//table[@id='Table3']//a[@id='PageHeader_logoUrl']") 

:あなたは、あなたがより戦略here

+0

同じ問題 –

+0

「// * [@ id = 'PageHeader_logoUrl']」はどうですか? – virusrocks

0

を探すことができます

は、最初の親要素を検索してみ、この "// * [ID @ = 'PageHeader_logoUrl']を" 試してみたいことがあります提案(もう一度)は、最も近い/親要素を最初に検索し、実際に必要な要素を取得した場合にデバッグすることです。

関連する問題