问题
注意:我不能通过id,name,class使用常规locate元素,因为实体1将针对其他页面进行更改。
HTML代码
<table cellspacing="1" cellpadding="2">
<tbody>
<tr>
<td><span tabindex="-1"><label for="value:1:1:1">companyID</label></span>
<input type="hidden" value="companyID" id="fieldName:1:1:1" name="fieldName:1:1:1">
</td>
<td>
<select name="operand:1:1:1">
<option selected="" value="EQ">equals</option>
<option value="LK">matches</option>
<option value="UL">not matches</option>
<option value="NE">not equal to</option>
<option value="GT">greater than</option>
<option value="GE">greater than or equals</option>
<option value="LT">less than</option>
<option value="LE">less than or equals</option>
<option value="RG">between</option>
<option value="NR">not between</option>
<option value="CT">contains</option>
<option value="NC">not containing</option>
<option value="BW">begins with</option>
<option value="EW">ends with</option>
<option value="DNBW">does not begin with</option>
<option value="DNEW">does not end with</option>
<option value="SAID">sounds like</option>
</select>
</td>
<td align="right">
<input type="text" frequencydropfieldname="value:1:1:1" value="123" size="20" id="value:1:1:1" name="value:1:1:1">
<input type="hidden" value="none" id="sort:1:1:1" name="sort:1:1:1">
</td>
<td></td>
</tr>
<tr>
<td><span tabindex="-1"><label for="value:2:1:1">componentID</label></span>
<input type="hidden" value="componentID" id="fieldName:2:1:1" name="fieldName:2:1:1">
</td>
<td>
<select name="operand:2:1:1">
<option selected="" value="EQ">equals</option>
<option value="LK">matches</option>
<option value="UL">not matches</option>
<option value="NE">not equal to</option>
<option value="GT">greater than</option>
<option value="GE">greater than or equals</option>
<option value="LT">less than</option>
<option value="LE">less than or equals</option>
<option value="RG">between</option>
<option value="NR">not between</option>
<option value="CT">contains</option>
<option value="NC">not containing</option>
<option value="BW">begins with</option>
<option value="EW">ends with</option>
<option value="DNBW">does not begin with</option>
<option value="DNEW">does not end with</option>
<option value="SAID">sounds like</option>
</select>
</td>
<td align="right">
<input type="text" frequencydropfieldname="value:2:1:1" value="ZZ" size="20" id="value:2:1:1" name="value:2:1:1">
<input type="hidden" value="none" id="sort:2:1:1" name="sort:2:1:1">
</td>
<td></td>
</tr>
Python代码
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.maximize_window()
driver.get('file:///C:/Users/gmunteanu/Desktop/test_table.html')
time.sleep(2)
print driver.find_elements_by_xpath("//*[contains(text(), 'companyID')]/td[3]/input[1]")
答案 0 :(得分:1)
&#34;&#34;&#34;有following-sibling
符号:
//span[contains(label, 'companyID')]/following-sibling::input
另外,您是否只能通过input
属性获取value
?
//input[@value = 'companyID']
*假设您的目标是隐藏的input
元素。