2009-09-14 34 views
8

Tôi tự hỏi liệu có thể truy cập các biến JavaScript của trang bằng Selenium hay không. Tôi có một ứng dụng đang sử dụng một biến gắn liền với đối tượng cửa sổ. Nó có phạm vi toàn cầu và tôi có thể truy cập vào phạm vi toàn cầu với window._myvar, window['_myvar'], _myvar, this['_myvar'], this._myvar tùy theo ngữ cảnh.Truy cập các biến JavaScript với Selenium IDE

Vì vậy, tôi đã cố gắng để có được Selenium để echo nó. Theo như tôi hiểu, trong Selenium IDE, bối cảnh trong đó mọi thứ đều chạy là selenium. Tôi đã thử làm this.browserbot.getCurrentWindow()._myvar, this.browserbot.getCurrentWindow()[_myvar] không có kết quả. Tôi gặp phải lỗi sau đây Unexpected Exception: message -> eval(match[1]) is undefined.

Bất kỳ ai cũng có thể truy cập JavaScript của trang của họ?

Trả lời

16

Bạn sẽ có thể nhận các biến bằng cách sử dụng getUserWindow thay vì getCurrentWindow. Xem ví dụ sau:

assertEval | this.browserbot.getUserWindow().myVar | Hello World! 
+0

Doh! hoàn toàn quên về getUserWindow(). Xóa câu trả lời của tôi – AutomatedTester

+0

hoạt động như một sự quyến rũ;)! –

+0

Tham số đích có cần được bọc trong javascript {...} không? – bcoughlan

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