2013-09-30 68 views
0

我是Selenium Webdriver的新手。我一直在使用Firebug & Firepath爲web元素生成xpath(複製粘貼給定的xpath),但是我在使用這樣的xpaths時遇到了問題(例如「Xpath無法評估爲web元素」)。硒中的通用Xpath

請幫我一個Webelement的XPath來創建一個靈活的&通用的XPath下面的例子:

<input type="text" maxlength="15" length="40" value="" name="ST_ACK_NUM"/> 
+0

不要使用從'firebug'得到的**絕對**'xpath',對'html'的小修改可能會導致'xpath'不再有效。 –

+1

嗨。使用firepath生成的xpath是一個非常糟糕的主意,因爲firepath會根據位置生成xpath。看看這個博客http://www.guru99.com/accessing-links-tables-selenium-webdriver.html在xpath上提供了一些很好的信息。 – Vinay

回答

2

喜歡的人說,在評論這是更好地創造一個更相對路徑你的元素。也許你可以發佈更多的輸入,以便更有效地創建XPath。

爲了得到一個絕對的XPath輸入你可以這樣做:

//input[@name='ST_ACK_NUM'] 

以上的XPath將完整的源代碼搜索到所有<input>元素,其中,當你看屬性name等於值ST_ACK_NUM

您源也許你可以調整XPath並添加更多的依賴關係。例如,如果你輸入的樣子:

<div class="DivClass"> 
    <form name="FormName"> 
    <input type="text" maxlength="15" length="40" value="" name="ST_ACK_NUM"/> 
    </form> 
</div> 

你可以使用XPath的,如:

//div[@class='DivClass']/form[@name='FormName']/input[@name='ST_ACK_NUM'] 

這也將找到<input>元素,但有更多的依賴性。

+0

我覺得你錯過了'@'符號的表達方式,比如'@ class','@ name' .. –

+0

Pfff確實是:S。調整後的評論 –

+0

非常感謝。 。答案很有用 –