Đối tượng "InternetExplorer.Application" trong Autoit

 hôm nay rảnh bon chen vào 1 bài ^^! hi vọng kiếm được vài cái thanks.văn hơi tệ nên đừg chê nha ^^!.

Phần 1
Các kiến thức cần biết khi đọc tài liệu
Chỉ đơn giản biết sơ về autoit ^^! không cần nhìu
Đọc xong phần 1 sẽ biết được gì
học xong phần này bạn sẽ biết đối tượng
+InternetExplorer.Application là gì, tác dụng của đối tượng InternetExplorer.Application
+tạo được 1 chương trình mở IE và load vào 1 site tùy ý một cách chuyên nghiệp Big grin
1.Giới thiệu về InternetExplorer.Application
- InternetExplorer.Application là một đối tượng của trình duyệt web Internet Explorer(IE) giúp cho mình tương tác để lấy dữ liệu các web đã load vào 1 cách dễ dàng ^^!
-Làm thế nào để sữ dụng đối tượng InternetExplorer.Application
Trong autoit có 1 hàm hỗ trợ tạo đối tượng(Object) là ObjCreate("classname" [, "servername" [,"username", ["password"]]]) nhưng ta chỉ cần 1 tham số đầu và chỉ với cú pháp đơn giản là ta có thể tạo được 1 đối tượng InternetExplorer.Application
Select All
  1.  $oIE=ObjCreate ("InternetExplorer.Application")
  2.  
và khj chạy lệnh này thì trình duyệt website IE đã được chạy nhưng chế độ ẩn bạn có thể kiểm tra bằng cách Nhấn tổ hợp Ctrl + Alt + Delete chọn Tab Process sẽ thấy 1 file tên là IEXPLORE.EXE
- thế làm cách nào để ẩn/hiện trương trình?
Cú pháp hiện
Select All
  1.  $oIE.visible=True  
  2.  
Cú pháp ẩn
Select All
  1.  $oIE.visible=False  
  2.  
và cuối cùng chúng ta nên thoát IE khj ko muốn dùng tới 
cú pháp
Select All
  1.  $oIE.quit  
  2.  
Còn 1 đối tượng gần như không thể thiếu là Navigate để load vào 1 website
Cú Pháp
Select All
  1.  $oIE.navigate("đường dẫn cần cần load tới")
  2.  
=>Qua 4 đối tượng vừa rồi ta có thể tạo 1 chương trình đương giản như sau
Select All
  1.  $oIE=ObjCreate ("InternetExplorer.Application") ; khoi tao doi tuong IE va dua no' vao bien $oIE  
  2. $oIE.visible=True  ; hien trinh duyet IE len  
  3. $oIE.Navigate("hocautoit.com") ; Load vao website autoit  
  4. Sleep (15000) ; tam dung 15s  
  5. $oIE.Quit ; thoat ung dung  
  6.  
  7.  
===========Het Phan 1============



Phần 2
Kiến thức cần biết khi đọc phần 2
+ Cần có kiến thức của phần 1 và hiểu được cái c/t của phần 1 (cái này tất nhiên)
+ Biết tý EN nếu không thì phải vào [url=http://translate.google.com.vn/?hl=vi&tab=wT#en|vi|]Google Dịch[/url]
+ biết sơ về HTML (sẽ giúp bạn dễ hiểu hơn)
Học phần này tui sẽ biết được những gì
+ làm được 1 trường trình tự động đăng nhập đơn giản
+ có khả năng tự tìm kiếm thêm nhữg đối tượng không được giới thiệu và hướng dẫn trong bài viết này
+ có khả năng tham gia vào dự án aSitemap XML General - Tạo site map cho website của Leesai để kiếm thêm leas
giờ bất đầu vào đề … Big grin cũng như phần 1 tui sẽ hướng dẫn thêm cho bạn 1 số đối tượng cần thiết nhưng tớ sẽ giới thiệu bằng cách làm ví dụ ^^!
- Kiếm tra số lượng link của 1 trang web và lấy link ra gần giống [Lệnh 2 - Giai đoạn 1] trong dự án leesai
Cú Pháp: lấy số lượng link
Select All
  1.  $oIE.document.links.length  
  2.  
Cú pháp : lấy link thứ $n
Select All
  1.  Local  $link=$oIE.document.links(15).href ; lay link thu 15  
  2.  
VD
Select All
  1.  $oIE=ObjCreate ("InternetExplorer.Application") ; khoi tao doi tuong IE va dua no' vao bien $oIE  
  2. $oIE.visible=True  ; hien trinh duyet IE len  
  3. $oIE.Navigate("http://hocautoit.com/") ; load vao trang  
  4. Sleep (15000) ; cho 10s  
  5. $LengthLink=$oIE.document.links.length ; lay so luong link  
  6. MsgBox (0 ,"Thong Bao" ,"So Luong Link la " &$LengthLink)
  7. Local  $link=$oIE.document.links(15).href ; lay link thu 15  
  8. MsgBox (0 ,"Thong Bao" ,"Link thu' 15 la" &@CRLF &$link)
  9.  
- Làm sao lấy được mã HTML của 1 trang website
cái này thì quá đơn giản chỉ với cú pháp không có gì phức tạp cả ^^!
Select All
  1.  $oIE..document.body.innerHTML  
  2.  
VD
Select All
  1.  $oIE=ObjCreate ("InternetExplorer.Application") ; khoi tao doi tuong IE va dua no' vao bien $oIE  
  2. $oIE.visible=True  ; hien trinh duyet IE len  
  3. $oIE.Navigate("http://hocautoit.com/") ; load vao trang  
  4. Sleep (15000) ; cho 10s  
  5. Local  $link=$oIE.document.body.innerHTML  
  6. msgbox (0 ,"Thong bao" ,$link)
  7.  
  8.  
chài nãy giờ toàn đọc đọc đọc với đọc chán quá giờ mình qua việc tương tác vào website nha
- vậy muốn click vào link thứ $n phải làm như thế nào
Cú pháp
Select All
  1.  $oIE.document.links(15).click  
  2.  
VD
Select All
  1.  $oIE=ObjCreate ("InternetExplorer.Application") ; khoi tao doi tuong IE va dua no' vao bien $oIE  
  2. $oIE.visible=True  ; hien trinh duyet IE len  
  3. $oIE.Navigate("http://hocautoit.com/") ; load vao trang  
  4. Sleep (15000) ; cho 10s  
  5. Local  $link=$oIE.document.links(15).click  
  6.  
  7.  
- Giờ làm auto login vào website me.zing.vn vui vui nhỉ ^^!
+ đầu tiên khởi tạo đối tượng IE
Select All
  1.  $oIE=ObjCreate ("InternetExplorer.Application") ; khoi tao doi tuong IE va dua no' vao bien $oIE  
  2. $oIE.visible=True  ; hien trinh duyet IE len  
  3. $oIE.Navigate("http://me.zing.vn/") ; load vao trang  
  4. Sleep (10000) ; cho 10s  
  5.  
+ tiếp theo thây đổi value của ô user và pasw cái này phải dùng tới plugin FireDebug hỗ trợ của firefox (lên google bấm phát ra liền) , hoặc nếu dùng trình duyệt Google Chrome thì khỏi cần plugin, bạn làm theo hình nha.
hjc do forum upload lên ko được tại hình nặng hơn 1mb ^^! tớ upload tạm vào mediafire vậy
bạn sẽ thấy id="u" , name="u" như thế sẽ chọn đối tượng đó
có 2 cách chọn
+Cú pháp chọn theo ID
Select All
  1.  $oIE.document.getElementById("u").<thuộc tính cần thây đổi>
  2.  
do đây là là làm auto login nên ta thây đổi giá trị trog HTML giá trị là value như vậy cú pháp là
Select All
  1.  $oIE.document.getElementById("u").value="tai khoang"  
  2.  
+Cú pháp theo name
Select All
  1.  $oIE.document.getElementByName("u").<thuộc tính cần thây đổi>
  2.  
và cũng như id mình sẽ thây đổi value của ô input này với lệnh là
Select All
  1.  $oIE.document.getElementByName("u").value="tai khoang"  
  2.  
vậy là bạn đã điền xong tài khoảng rồi password cũng làm như thế nha làm với pasword ta sẽ được lệnh
+Với Id
Select All
  1.  $oIE.document.getElementById("pp").value="mat khau"  
  2.  
+Với Name
Select All
  1.  $oIE.document.getElementByName("pp").value="mat khau"  
  2.  
rồi điền xong roài nhiệm vụ cuối cuồi là nhấn vào button Đăng Nhập với lệnh
+ lam theo ID
Select All
  1.  $oIE.document.getElementById("bntlogin").click()  
  2.  
+ làm theo Name
Select All
  1.  $oIE.document.getElementByName("bntlogin").click()  
  2.  
thế là xong các bước làm 1 autologin giờ chỉ việc gáp đoạn lệnh lại tớ chỉnh sửa lại chút cho đẹp lun
Select All
  1.  $username=InputBox ("Thong Bao" ,"Nhap tai khoang vao")
  2. $password=InputBox ("Thong Bao" ,"Nhap tai password vao")
  3. $oIE=ObjCreate ("InternetExplorer.Application") ; khoi tao doi tuong IE va dua no' vao bien $oIE  
  4. $oIE.visible=True  ; hien trinh duyet IE len  
  5. $oIE.Navigate("http://login.me.zing.vn/")
  6. Sleep (10000)
  7. $oIE.document.getElementById("u").value=$username ; dien username vao  
  8. $oIE.document.getElementByName("pp").value=$password ; dien` password vao  
  9. $oIE.document.getElementById("bntlogin").click() ; click vao button dang nhap  
  10.  
hì tớ tiết lộ cái này nha ^^! nãy giờ tớ viết topic này là tớ mới bik lun á ^^! muốn viết lệnh nào tớ vào thư viện IE.au3(C:\Program Files\AutoIt3\Include\IE.au3) coi lệnh IECreate …. các bạn tự tìm hỉu thêm lệnh _IEWait nha tớ không làm do chừa lại tự nghiên cứu hấp dẫn hơn ^^!
vậy muốn biết hết đối tượng phải làm như thế nào
rất đơn giản bạn chỉ việc vào trang http://w3schools.com/jsref/met_doc_getelementsbytagname.asp đây cũng là lý do tại sao tớ bảo cần phải bik tý EN để dễ hiểu hơn ^^! vậy coi
+ hướng dẫn coi (làm ví dụ hàm tương tác Image nha)
Tài liệu website
http://w3schools.com/jsref/coll_doc_images.asp
ta thấy được document.write(document.images.length);
ducument.write là lệnh xuất kết quả ra giống msgbox đối với Javascript bạn khỏi quan tâm ^^! quan tâm là document.images.length vậy chuyễn cái này vào autoit sẽ là như sau
Select All
  1.  $oIE.document.images.length  
  2.  
+ thế còn bài tập đâu, học đi đôi với hành màk
hì bài tập thì các cậu làm các c/t tự động pót bài hay tự động login (nhưg mấy cái đó vô bổ quá) bạn tham gia vào dự án aSitemap XML General - Tạo site map cho websitevừa giúp autoit có tiếng tâm vừa giúp nâng cao kiến thức lại còn được trả leas ^^! sướng chít…
Hết Phần 2

1 Nhận xét