2013-08-11 40 views
5

Tôi đang phát triển một ứng dụng dành cho máy tính để bàn trong Delphi XE4 bằng cách sử dụng thành phần TChromium để hiển thị trang web Google Voice.Mô phỏng nhấp chuột vào DIV

tôi cần phải bắt đầu cuộc gọi lập trình và tôi không thể tìm thấy một cách để kích hoạt các mã javascript sau vào nút (nó là một DIV) "CONNECT":

enter image description here

TChromium cho phép để thực hiện mã javascript và tôi đã quản lý để mô phỏng nhấp chuột vào nút "GỌI" bằng cách sử dụng mã javascript mô phỏng Sự kiện chính bằng ký tự "c" hiển thị bảng điều khiển. Tính năng này hoạt động vì Google Voice có phím tắt và "c" là phím tắt hợp lệ để bắt đầu cuộc gọi. Ngoài ra với javascript tôi có thể thiết lập số trong lĩnh vực đầu vào. Vấn đề chính của tôi là tôi không biết làm thế nào để mô phỏng một nhấp chuột vào "CONNECT":

enter image description here

Như bạn thấy, không có ID, không onClick và không có phím tắt để kích hoạt các Connect nút.

Tôi có thể lấy một tham chiếu đến này div sử dụng đoạn mã sau:

document.getElementById(":87.mi").children[0].children[0].children[5].children[1].children[0].children[0].children[0].children[1]; 

Nhưng nó không phải là có thể kích hoạt bất cứ điều gì phụ .click(). Tôi cho rằng đó là vì click() sẽ kích hoạt phương thức onClick mà nó không được định nghĩa. Có cách nào để biết mã javascript thực thi khi ai đó nhấp vào div này không?

Nếu tiêu điểm ở đầu vào "Số để gọi", tôi có thể nhấn "TAB" để điều hướng đến "Điện thoại để gọi", sau đó đến "Nhớ chọn" và cuối cùng là "Kết nối" nơi tôi có thể nhấn Nhập khóa để làm cho nó hoạt động. Tôi đã cố gắng sử dụng cùng một mã như trong đầu để mô phỏng nút CALL nhưng lần này với TAB (mã khóa 9 thay vì 67) và nó không hoạt động như tiêu điểm không di chuyển.

tôi đã cố gắng để làm điều đó lập trình với delphi cũng sử dụng mouse_event, keybd_event, PostKeyExHWND, PostKeyEx32 và PostMessage không có kết quả là trọng tâm không di chuyển đi từ "Số gọi là"

Các lựa chọn duy nhất mà làm việc bây giờ là để di chuyển chuột với delphi bằng cách sử dụng SetCursorPos và mô phỏng một nhấp chuột vào nút đó tính toán các tọa độ nhưng điều này sẽ là lựa chọn cuối cùng của tôi để lựa chọn như tôi muốn một mã javascript để làm điều đó.

Mọi đề xuất đều được hoan nghênh!

+0

Bạn thích giải pháp JS vanilla cho jQuery? Bạn có một giao diện điều khiển có sẵn? Sự kiện có kích hoạt với 'document.getElementsByClassName ('goog-button-base-content') [0] .click()'? – DevlshOne

+0

Tôi nghĩ rằng JQuery không được đưa vào trang web này. Nếu nó có thể bao gồm nó một cách năng động thì nó là ok. Liên kết của trang web này là http: // google.com/voice nhưng bạn phải ở Hoa Kỳ và đăng ký số điện thoại đầu tiên. –

+0

Sau đó, tôi ra khỏi trò chơi này ... Vì vậy, ít nhất tôi sẽ thêm một liên kết đến ['câu hỏi'] (http://stackoverflow.com/q/1668619/960757) yêu cầu giải pháp chính xác nhất, để sử dụng API chính thức cho dịch vụ này. – TLama

Trả lời

-1

Tôi đề xuất giải pháp tiếp theo.

Trong một tập tin javascript mà phải được nhập khẩu từ các quan điểm, đặt mã tiếp theo:

$(".goog-button-base-content").click(function(){ 
    //CODE HERE 
}); 

Những gì bạn làm ở đây mà mọi chúng ta ép div có class có nghĩa là, bạn sẽ bắt đầu logic bên trong "CODE HERE"

(Xin lỗi vì tiếng anh không tốt của tôi)

Tôi hy vọng sẽ hữu ích. Xem bạn

Các vấn đề liên quan