2012-03-17 43 views
6

Làm cách nào tôi có thể chọn, thông qua xpath, tất cả các yếu tố đầu vào trong tài liệu có giá trị nhất định được nhập vào chúng.Lấy phần tử thẻ đầu vào với một giá trị văn bản đã cho qua xpath

Ví dụ: nếu tôi truy cập Google và nhập "hello world", làm cách nào để nhận được tất cả các thẻ nhập có "hello world" được nhập vào chúng?

Chơi xung quanh với những thứ như dưới đây đã không được đền đáp, vì giá trị trong trường văn bản không thực sự là một phần của tài liệu.

document.evaluate("//input[text() = 'hello world']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue 

Nên khá đơn giản, nhưng tôi ngạc nhiên bị kẹt.

+0

Bạn có thực sự cố gắng để lấy những giá trị từ một trang sau khi tải và người dùng không một số hành động, hoặc bạn đã có tài liệu xml ở đâu đó và bạn muốn tìm kiếm nó? –

Trả lời

11

biểu thức x-con đường của bạn nên tìm kiếm nguyên liệu đầu vào có giá trị thuộc tính với 'hello world'

Đây là bởi vì đó là nơi mà các giá trị được đưa vào, không phải là văn bản bên trong của nguyên tố này.

Yếu tố html thực tế sẽ như thế nào:

<input type='text' value='hello world' /> 

Biểu thức XPath sẽ giống như thế:

//input[@value = 'hello world'] 
0

Bạn không nói rõ ngôn ngữ, nhưng để lấy đầu vào người sử dụng nó sẽ cần phải được javascript của một số loại. Trong jQuery, bạn có thể làm điều này:

$("input:contains('hello world')").val() 

Để biết chi tiết, vui lòng xem tài liệu jQuery trên contains() selectorval phương pháp

2

Một thay thế mà không cần jQuery để nhận được đầu vào, trong đó có nội dung mục tiêu là đầu vào // [contains (@value, 'hello world')]. Điều này sẽ tìm ra đầu vào ngay cả khi sử dụng các loại "hello world số 7"

0

này cũng dường như làm việc:

//input[@type='text'][@value='hello world'] 
Các vấn đề liên quan