2009-06-22 41 views
9

Có thể truy cập thông tin Firefox từ chương trình của tôi không? Cụ thể là tôi cần phải đọc URL của trang web đã mở trong tab hoạt động. Có phải bất cư thứ gì như thế này đều được?Firefox api - truy cập từ chương trình của tôi

Tôi đoán tôi có thể viết phần mở rộng sẽ cho phép tôi làm điều gì đó như thế này, nhưng tôi muốn biết nếu nó là posible với một số api FF ...

+0

Câu hỏi thú vị. Tôi cũng tò mò muốn biết câu trả lời cho điều này. Tôi chưa bao giờ nghe nói về một API có thể truy cập từ bên ngoài ứng dụng, nhưng một số thành viên SO có nhiều kiến ​​thức hơn. –

Trả lời

3

Sử dụng số MozRepl Tiện ích mở rộng của Firefox, bạn có thể đọc url Firefox hiện tại (among other things) từ telnet. Sau đó, bạn có thể use AutoHotkey to access telnet hoặc thông qua chương trình của riêng mình và nhận url hiện tại.

Dường như bạn cũng có thể truy cập url của Firefox via DDE

0

Tôi đề nghị xem xét việc miễn phí trực tuyến cuốn sách Dive Into Greasemonke y . Với nó, bạn sẽ có thể viết một kịch bản GM mà bạn có thể áp dụng cho tất cả các trang trong trình duyệt của bạn. Đây sẽ là cách không đau để bắt đầu phát triển cho Firefox.

Cách khác, hãy xem Trang dành cho Firefox Extension development.

Một giải pháp thay thế khác có thể là tạo bookmarklet. Để có được url hiện tại làm:

javascript:(alert(window.location.href)); 
+0

Cảm ơn câu trả lời của bạn! Tôi biết về Greasemonkey và tôi đã viết một số tập lệnh, nhưng tôi cần truy cập này từ ứng dụng của mình chứ không phải firefox. Nếu bạn đề nghị đọc URL từ bên trong FF và sau đó gửi nó vào chương trình của tôi, đó là một giải pháp, nhưng tôi muốn đọc nó trực tiếp nếu có thể ... –

+0

Tôi tự hỏi liệu sẽ có cơ chế thẩm vấn ứng dụng Firefox không từ cấp hệ điều hành. – artlung

0

Tôi không biết một API Firefox, nhưng bạn có thể viết một AutoHotKey Script mà chuyển sang Firefox, nhấn tổ hợp phím CTRL + L (để cung cấp cho tập trung vào thanh địa chỉ) và sau đó CTRL + C để lấy dữ liệu trên khay nhớ tạm. Một chút của một kludge nhưng nó có thể làm việc, tùy thuộc vào hoàn cảnh của bạn.

+0

Cảm ơn ... Tôi không biết về AutoHotKey. Trong trường hợp này, nó là một giải pháp ít xấu xí, nhưng tôi chắc chắn tôi sẽ tìm thấy các ứng dụng khác cho AutoHotKey :) ... Và có thể cho vấn đề này, nếu tôi không tìm thấy bất cứ điều gì tốt hơn ... Cảm ơn một lần nữa ... –

0

Để trả lời câu hỏi thực tế của bạn: có thể thực hiện được - như RescueTime thực hiện điều đó. Và nó không cần một addon. Đối với câu hỏi ngụ ý của cách - sợ tôi không biết.

3

Có thể WebDriver sẽ giúp bạn, đặc biệt nếu bạn đang viết hành động người dùng. Khi bạn đã cài đặt, bạn có thể thực hiện việc này:

WebDriver driver = new FirefoxDriver(); 
driver.get("http://yoururl.com"); 

Firefox giờ sẽ mở tại URL đã cho. Sau đó, bạn có thể sử dụng các phương thức như findElement() để lấy các cá thể của WebElement biểu diễn các phần tử trên trang (các nút, vùng văn bản, bất kỳ thứ gì). Một khi bạn có một WebElement, bạn có thể đọc văn bản của nó, bấm vào nó, gửi nó sự kiện quan trọng, bất cứ điều gì.

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