Tôi có một trang web tôi muốn sử dụng với YQL. Nhưng tôi cần XPath của một mục cụ thể. Tôi có thể thấy nó trong khu vực công cụ gỡ lỗi cho Google Chrome nhưng tôi không thấy cách sao chép XPath đó.
Có cách nào để sao chép XPath đầy đủ không?
Tôi có một trang web tôi muốn sử dụng với YQL. Nhưng tôi cần XPath của một mục cụ thể. Tôi có thể thấy nó trong khu vực công cụ gỡ lỗi cho Google Chrome nhưng tôi không thấy cách sao chép XPath đó.
Có cách nào để sao chép XPath đầy đủ không?
Câu trả lời:
Bạn có thể sử dụng $x
trong bảng điều khiển javascript của Chrome. Không cần mở rộng.
Ví dụ: $x("//img")
Ngoài ra, hộp tìm kiếm trong trình kiểm tra web sẽ chấp nhận xpath
Ctrl+Space
không tiết lộ $x
. Nếu bạn chỉ cần gõ, $x
bạn có thể thấy nó đã đạt được như thế nào, do đó OP sẽ có thể xác định cách đạt được những gì họ muốn. Ví dụ; document.evaluate('//h1', document, null, XPathResult.STRING_TYPE, null).stringValue
Nhấp chuột phải vào nút => "Sao chép XPath"
Tiện ích mở rộng Trình trợ giúp XPath thực hiện những gì bạn cần: https://chrom.google.com.vn/webstore/detail/hgimnogjllphhhkhlmebbmlgjoejdpjl
Không có phần mở rộng cần thiết trong chrome bây giờ. Nhấp chuột phải vào bất kỳ yếu tố nào bạn muốn xpath và nhấp vào "Kiểm tra phần tử" và sau đó một lần nữa bên trong Thanh tra, nhấp chuột phải vào phần tử và nhấp vào "Sao chép Xpath".
Google Chrome cung cấp một công cụ gỡ lỗi tích hợp có tên là " Chrome DevTools ", bao gồm một tính năng tiện dụng có thể đánh giá hoặc xác thực các bộ chọn XPath / CSS mà không cần bất kỳ tiện ích mở rộng của bên thứ ba nào.
Điều này có thể được thực hiện bằng hai cách tiếp cận:
Sử dụng chức năng tìm kiếm bên trong bảng Element để đánh giá các bộ chọn XPath / CSS và tô sáng các nút phù hợp trong DOM. Thực thi mã thông báo $ x ("some_xpath") hoặc $$ ("css-selector") trong bảng điều khiển Console, cả hai sẽ đánh giá và xác thực.
Từ bảng yếu tố
Nhấn F12 để mở DevTools Chrome.
Bảng điều khiển các yếu tố nên được mở theo mặc định.
Nhấn Ctrl + F để bật tìm kiếm DOM trong bảng điều khiển.
Nhập vào bộ chọn XPath hoặc CSS để đánh giá.
Nếu có các yếu tố phù hợp, chúng sẽ được tô sáng trong DOM. Tuy nhiên, nếu có các chuỗi khớp trong DOM, chúng cũng sẽ được coi là kết quả hợp lệ. Ví dụ: tiêu đề bộ chọn CSS phải khớp với mọi thứ (CSS nội tuyến, tập lệnh, v.v.) có chứa tiêu đề từ, thay vì chỉ khớp các phần tử.
Từ bảng điều khiển
Nhấn F12 để mở DevTools Chrome.
Chuyển sang bảng điều khiển.
Nhập vào XPath muốn $x(".//header")
đánh giá và xác nhận.
Nhập vào các bộ chọn CSS muốn $$("header")
đánh giá và xác nhận.
Kiểm tra kết quả trả về từ thực hiện giao diện điều khiển.
Nếu các yếu tố được khớp, chúng sẽ được trả về trong một danh sách. Nếu không, một danh sách trống [] được hiển thị.
$x(".//article")
[<article class="unit-article layout-post">…</article>]
$x(".//not-a-tag")
[ ]
Nếu bộ chọn XPath hoặc CSS không hợp lệ, một ngoại lệ sẽ được hiển thị bằng văn bản màu đỏ. Ví dụ:
$x(".//header/")
SyntaxError: Failed to execute 'evaluate' on 'Document': The string './/header/' is not a valid XPath expression.
$$("header[id=]")
SyntaxError: Failed to execute 'querySelectorAll' on 'Document': 'header[id=]' is not a valid selector.
Hãy cho bạn biết một công thức đơn giản để tìm xpath của bất kỳ phần tử nào:
1- Mở trang web trong trình duyệt
2- Chọn phần tử và nhấp chuột phải vào nó
3- Nhấp vào kiểm tra tùy chọn phần tử
4- Nhấp chuột phải vào html đã chọn
5- chọn tùy chọn để sao chép xpath Sử dụng nó bất cứ khi nào bạn cần
Liên kết video này sẽ hữu ích cho bạn. http://screencast.com/t/afXsaQXru
Lưu ý: Đối với các tùy chọn nâng cao của xpath, bạn phải biết biểu thức chính quy hoặc mẫu html của mình.
$x('//*[@id="answer-33492958"]/table/tbody/tr[1]/td[1]/div/a[1]')[0].click();
xpathOnClick có những gì bạn đang tìm kiếm: https://chrom.google.com.vn/extensions/detail/ikbfbhbdjpjnalaooidkdbgjknhghhbo
Đọc các bình luận mặc dù, thực sự phải mất ba lần nhấp để có được xpath.
Ví dụ: đối với Chrome:
a. Để làm như vậy, bằng cách mở bảng 'Các thành phần' của trình duyệt, nhấn CTRL + F, dán XPath.
b. Thay đổi như mô tả trong ví dụ sau.
Xpath tuyệt đối = // * [@ id = "ứng dụng"] / div [1] / tiêu đề / nav / div [2] / ul / li [2] / div / nút
Liên kết xpath = // div // nav / div [2] / ul / li [2] / div / nút
Khi bạn thực hiện thay đổi:
Chỉ cần nhấp chuột phải vào yếu tố bạn muốn xpath và bạn sẽ thấy một mục menu để sao chép nó. Điều này có thể không tồn tại khi OP thực hiện bài đăng của mình nhưng bây giờ chắc chắn là có.
Hơi OT, nhưng có lẽ hữu ích: Trên Mac Chrome, mặc dù bạn không thể sao chép xpath ra khỏi hộp tìm kiếm trong bảng công cụ Dev (thay vào đó, sao chép lấy nút dưới dạng HTML), bạn có thể kéo và thả văn bản vào trình chỉnh sửa bên ngoài.
Tôi đã thử hầu hết các tiện ích mở rộng có sẵn và thấy dưới đây là một trong những tiện ích tốt nhất.
Giống như FirePath, tiện ích mở rộng này trực tiếp cung cấp cho bạn Xpath khi bạn nhấp vào Kiểm tra.
nhấn Cntl + Shift + C
chọn phần tử bạn muốn lấy XPath
bằng cách nhấp vào
right click
phần tử được tô sáng trong bảng điều khiển
copy
->copy XPath
Sử dụng phần mở rộng này, nó tạo ra xpath dựa trên id hoặc class, đây có thể là những gì bạn muốn sử dụng.
Nhấp vào biểu tượng trình duyệt, bảng điều khiển được hiển thị ở góc bên phải của trang, sau đó nhấp vào bắt đầu kiểm tra, sau đó nhấp vào bất kỳ yếu tố nào để nhận xpath của bạn.