2016-07-28 112 views
2

我遇到了一些麻煩,試圖在表單組上使用fill_in文本表單。水豚「fill_in」by xpath?

HTML:

<div class="form-group"> 
    <label class="control-label">First Name</label> 
    <input class="form-control" type="text" data-filter="0"> 
</div> 

我使用FILL_IN通過使用標籤文本IE 「名」,沒有運氣嘗試;我也嘗試過使用「data-filter =」0「」沒有運氣(我甚至不知道這是什麼;它似乎不是任何類型的ID)。

我想也許我可以使用xpath?但你甚至可以在xpath上做一個查找器,然後填寫它?我找不到任何似乎認爲能夠在水豚模塊文檔中找到的東西。

+1

原因標籤文本不工作是因爲在標籤不依賴於輸入任何方式 - 它需要或者有一個'for'屬性,其值將是輸入的id(如果有的話),或者它需要包裝輸入以將其綁定到輸入 –

回答

1

另一種方法是使用findset

find(:xpath, "//label[text()='First Name']/following-sibling::input").set("text") 

或者:

find(:xpath, "//div[label='First Name']/input").set("text") 
+0

我很困惑以下兄弟姐妹的事情,我從來沒有見過在水豚之前? – msmith1114

+1

@ msmith1114這是一個XPath表達式,用於查找元素,然後調用'set'。 –

+0

@ msmith1114,'following-sibling'是XPath的一個軸:https://www.w3.org/TR/xpath/。你也可以使用'/ div [label ='First Name']/input' –