<a href="javascript:submitform('0108803228')" title="Địa chỉ trụ sở: 35N03B Đô thị mới Sài Đồng"><b>CÔNG TY TNHH PHÁT TRIỂN THƯƠNG MẠI VÀ ĐẦU TƯ PHƯƠNG LINH</b></a>
Nội dung
Giới thiệu
Trong lập trình C#, có những thủ thuật rất ít được chia sẻ, ví dụ như ta muốn nhấp chuột vào hàm JavaScript trên để lấy thông tin của Công ty, tuy nhiên cái đường dẫn trong thẻ <a> không phải là một đường dẫn bình thường, mà nó lại là một hàm Javascript, nhưng trong C# thì không hỗ trợ bằng các điều khiển cơ bản. Ta phải làm thế nào.
Các bước thực hiện:
Bước 1: Khởi tạo một Dự án C# mới
Bước 2: Kéo một Điều khiển Webrowser vào Form
Bước 3: Load trang chứa đoạn mã trên vào Webrowser thông qua thuộc tính Navigate
Bước 4. Kéo thêm 1 Button vào Form
Bước 5: Thêm đoạn mã sau vào sự kiện Click của Button
foreach (HtmlElement item in webBrowser1.Document.GetElementsByTagName("a")) { if (item.OuterHtml != null) { if (item.OuterHtml.Contains("javascript:submitform('0108803228')")) { MessageBox.Show(item.OuterHtml); item.InvokeMember("click"); break; } } }
Giải thích đoạn mã:
Đầu tiên sẽ thực hiện vòng lặp foreach để duyệt tất cả các thẻ <a>.
Tiếp theo là kiểm tra thuộc tính OuterHtml của từng thẻ <a>. Nếu nó không phải là null thì kiểm tra tiếp.
Kiểm tra thuộc tính OuterHtml của thẻ <a> đang duyệt, nếu nó chứa đoạn text “javascript:submitform(‘0108803228’)” thì sẽ thực hiện
1. Mở cửa sổ MessageBox
2. Thực hiện Click chuột vào thẻ <a> này thông qua đoạn mã
item.InvokeMember("click");
3. Thoát khỏi vòng lặp foreach.
Lời kết:
Đây là thủ thuật vào dạng hiếm, ít được chia sẻ trên Internet. Nếu bạn nào có ý tưởng gì khác thì hãy chia sẻ thông qua mục Bình luận phía dưới.
Chúc các bạn ngày cuối tuần vui vẻ. !!!