2013-11-09 62 views
-1

的Xpath的的的XPath其中硒IDE生成自動不工作,我的意思是腳本失敗,因爲它沒有找到這樣的Xpath的任何元素?如何構造元素

有什麼辦法可以手動生成Xpath

<div id="ext-gen1252" class="x-trigger-index-0 x-form-trigger x-form-arrow-trigger x-form-trigger-last x-unselectable" role="button" style="-moz-user-select: none;"></div> 

這下拉的HTML這是令人討厭的我。

driver.findElement(By.xpath("//div[2]/div/div/div/div/div/div[6]/em/button")).click(); 

這是java/webdriver的,因爲這是從IDE

出口

請給我一些解決方案可以儘快

謝謝!

+0

http://www.w3.org/TR/xpath/ – Basilevs

+2

-1後失敗的代碼,例如巧妙地生成的XPath的extension的輸入和預期結果。 – Basilevs

+1

問的問題是如何構建一個元素的Xpath。爲什麼會有人投票要求提供代碼。 – LINGS

回答

0

是的,你可以創建,富勒例如: 下面它顯示HTML格式,然後身體那麼div的[]等.. 它會創建一個像「HTML /體/ DIV」 你可以創建你的XPath這樣。

<document> 
<html itemtype="http://schema.org/WebPage" itemscope=""> 
<head> 
<body id="gsr" class="hp vasq" vlink="#61c" text="#222" link="#12c" bgcolor="#fff" alink="#dd4b39" onload="try{if(!google.j.b){document.f&&document.f.q.focus();document.gbqf&&document.gbqf.q.focus();}}catch(e){}if(document.images)new Image().src='/images/nav_logo170.png'"> 
<div id="viewport" class="ctr-p"> 
2

像IDE和FirePath這樣的工具只能在一定程度上幫助你。你問題中的xpath例子就是一個很好的例子。它不僅僅是非功能性的,而且很難猜測它的目標是什麼。什麼是解決方案?瞭解如何自己構建Xpath或CSS。網上有很多例子。這裏是XpathCSS

至於你的問題,的XPath的樣子,

driver.findElement(By.xpath(".//div[@class='x-trigger-index-0']").click(); 

我會強烈建議CSS selectors了XPath和它的理由也很硒社區記錄。

driver.findElement(By.cssSelector("div[class='x-trigger-index-0']").click(); 
0

firepath和xpath幫助器和許多其他擴展只是生成一個基於id的元素,它通常不是你想要的。

如果您使用的是Chrome,你可以嘗試用其指向的元素

相關問題