0

にクロームとFirefox/Firebugのために違う: //*[@id='user_change_pw_form']/div[3]/spanはなぜXPathのロケータが、私はXPathの値を取得クロームでSeleniumテスト

と放火魔で同じ要素のために私が取得: /html/body/div[2]/form/div[3]/span

はなぜロカに」できません

switch (System.getProperty("test.driver")) 
     { 
      case "chrome": 
      case "html": 
       text = driver.findElement(By.xpath("//*[@id='user_change_pw_form']/div[3]/span")).getText(); 


      case "gecko": 
       text = driver.findElement(By.xpath("/html/body/div[2]/form/div[3]/span")).getText(); 
       break; 

     } 

それぞれの相手が間違ったブラウザのために与えている間:私は1つとSeleniumのテストケースで同じ要素を取得するために、そのようなXPathクエリをspeparateする必要が両方のxpathクエリーはどちらのブラウザコンソールでも機能しますが。

ありがとうございます!

+0

チェックこの:http://stackoverflow.com/questions/23053632/is-xpath-is-different-for-different-browser – noor

+0

はそれを手に入れました!ありがとうございました! – Leder

答えて

0

firefoxは絶対xpathを持ち、chromeのxpathを処理できません。

@noorのおかげと@Kenil Fadia

0

ブラウザベースのセレクタに頼るのではなく、独自のxPaths/CSSセレクタを作成してみてください。このlinkはあなた自身のセレクタを学び/書くのに役立ちます。

xpathsよりもcssセレクタを使用することをお勧めします。

関連する問題