Giả sử tôi có điều này (đơn giản hóa):
<form id="myform">
<!-- some input fields -->
<input type="submit" value="proceed"/>
</form>
Sau đó, tôi có thể chọn nút gửi bằng XPath //form[@id='myform']/input[@type='submit']
. Tuyệt quá.
Tuy nhiên, các mẫu của tôi có thể thay đổi và tôi muốn linh hoạt về độ sâu nơi đặt nút gửi. Nó có thể được đặt trong một cái bàn, như thế này:
<form id="myform">
<!-- some input fields -->
<table><tr><td>
<input type="submit" value="proceed"/>
</td></tr></table>
</form>
Tôi biết tôi có thể chọn các phần tử là cháu, nhưng tôi không thể chọn grand-grand-grand -...- childeren ở bất kỳ độ sâu nào. Ví dụ:
//form[@id='myform']/*/input[@type='submit']
chỉ chọn những đứa trẻ lớn, không có chiều sâu hơn nữa.//form[@id='myform']/*/*/input[@type='submit']
chỉ chọn những ông-bà-con, không sâu hơn hay kém hơn.//form[@id='myform']/**/input[@type='submit']
không hợp lệ.
Vì vậy, làm cách nào để chọn nút gửi này một cách đáng tin cậy mà không cần sử dụng ID phần tử?
//form//input
trả về null trong C # trong khi Chrome có thể tìm thấy 35 đầu vào bằng cách sử dụng cùng một xpath