如何使用webdriver通過標籤查找輸入字段?Webdriver - 通過標籤定位輸入(Python)
我喜歡測試某個不幸使用動態生成的 ID的Web表單,因此它們不適合作爲標識符。
然而,與每個網頁元素相關的標籤都適合我。 不幸的是,我無法做到這一點與網上提供的幾個建議 。有一個線程在這裏如此,但是這並沒有 產生一個公認的答案:
Selenium WebDriver Java - Clicking on element by label not working on certain labels
爲了解決Java的這個問題時,通常建議通過其文本內容定位標籤作爲錨然後指定輸入元素的xpath:
//label[contains(text(), 'TEXT_TO_FIND')]
我不知道如何在python中做到這一點。 我的網絡元素:
<div class="InputText">
<label for="INPUT">
<span>
LABEL TEXT
</span>
<span id="idd" class="Required" title="required">
*
</span>
</label>
<span class="Text">
<input id="INPUT" class="Text ColouredFocus" type="text" onchange="var wcall=wicketAjaxPost(';jsessionid= ... ;" maxlength="30" name="z1013400259" value=""></input>
</span>
<div class="RequiredLabel"> … </div>
<span> … </span>
</div>
你能做出這樣的回答更加明確給我嗎?也許取決於我給的例子html? – 2014-10-09 09:15:02
要使用上面提供的@alecxe,只需將他的「TEXT_TO_FIND」更改爲「LABEL TEXT」(從您的示例中)。它會找到一個div,後面有一個標籤,後跟一個帶有文本「LABEL TEXT」的文本,如果你願意的話,找到'home'點。然後在該div下找到類Text的範圍,然後輸入你想要的元素。 – 2014-10-10 09:31:29