2010-03-29 3 views
7

Tôi có thể sử dụng biểu thức XPAth để điều hướng qua các phần tử DOM trong điều khiển WebBrowser không? Có thể đính kèm mã javascript và sử dụng chức năng document.evaluate đúng không?Điều hướng và điều khiển WebBrowser

Một thành phần trình duyệt activeX khác (firefox, webkit.net) có giúp tôi giải quyết công việc của mình không?

Trả lời

7

Điều khiển Microsoft WebBrowser là một trình bao bọc được quản lý xung quanh kiểm soát trình duyệt web COM của Microsoft, theo như tôi hiểu nó. Vì vậy, dưới mui xe nó là cùng một rendering và DOM thực hiện mà IE sử dụng, được gọi là MSHTML. Vì không hỗ trợ XPath chống lại HTML DOM của nó, không hỗ trợ phương thức 'evaluation' (là một phần của XPath W3C DOM Level 3) Tôi không thấy cách thực hiện các truy vấn XPath đối với một tài liệu HTML được nạp trong điều khiển WebBrowser của Microsoft . Liệu có các điều khiển trình duyệt web .NET của bên thứ ba hay không dựa trên các trình duyệt khác hỗ trợ XPath chống lại HTML DOM mà tôi không biết.

Nếu bạn muốn sử dụng .NET để thực hiện XPath đối với tài liệu HTML thì có the HTML agility pack. Tuy nhiên, đó là độc lập với điều khiển WebBrowser, do đó bạn không thể sử dụng nó để điều hướng một tài liệu HTML được nạp trong một điều khiển WebBrowser, thay vào đó bạn sẽ làm việc với một triển khai riêng biệt.

+0

+1, cảm ơn câu trả lời của bạn. Tôi đang sử dụng gói nhanh nhẹn, nhưng tôi cần điều hướng (tôi phải chọn/đánh dấu các nút cụ thể) trong HTML. Có lựa chọn thay thế nào không? Có gì không? – Shimmy