2011-07-24 9 views
0

我在user-extensions.js中編寫了一個自定義聲明函數,該函數使用自定義定位器函數 - 也在用戶擴展中實現.js - 定位頁面上的特定元素。在用戶擴展名.js中使用Selenium RC(Python)調用自定義聲明函數

沒有進入細節;我需要自定義定位器函數,因爲我試圖在頁面上的其他名稱空間中查找元素 - 某些Selenium似乎並不支持本機。

當從Selenium IDE中調用自定義斷言函數時,它使用「隱式地」定製函數來查找我正在尋找的元素,斷言和一切工作正常。 「隱式」意思是我用目標「abc = ...」調用assert函數,然後Selenium IDE知道應該使用locateElementByAbc定位器函數來查找特定元素。

但是,當使用Python中的do_command函數從Selenium RC(Python)調用相同的自定義斷言函數時,自定義定位器函數顯然不會隱式調用,並且找不到該元素。

如何讓我的Selenium RC Python腳本使用locateElementByAbc函數?請注意,啓動Selenium服務器時會加載user-extensions.js,因此該部分正在工作。 assert函數也可以使用Python的Selenium do_command函數調用。

感謝您的幫助,非常感謝!

+0

你爲什麼創建一個新帳戶?使用您用於發佈http://stackoverflow.com/questions/6747441/cannot-execute-custom-selenium-assert-function-from-user-extensions-js-file-when的同一個帳戶。 – agf

+0

還請添加一些代碼,以便人們可以看到你在做什麼。 – agf

回答

0

問題很可能是您的自定義定位器功能(LocateElementByMyprefix())未被註冊。 Selenium RC的用戶擴展.js設置與Selenium IDE稍有不同,並且時序可能會阻礙。在你的函數被定義後,嘗試調用selenium.browserbot._registerAllLocatorFunctions()

相關問題