2014-11-13 68 views
0

我已經使用Selenium Webdriver和AutoIt編寫了Java代碼,該代碼打開Firefox驅動程序,導航到需要通過選擇軟證書進行身份驗證的頁面,在證書選擇窗口彈出時選擇適當的證書點擊確定,此時我正在訪問的頁面應該加載,但是它只是加載一個空白的「新標籤」;一個新的標籤本身並不打開,只是當前標籤在「新標籤」標題下保持空白。認證後在Firefox中無法加載頁面

如果我使用相同的確切Firefox配置文件手動執行此過程(沒有Selenium Webdriver打開Firefox驅動程序並且我自己啓動它),那麼頁面在身份驗證後加載就好了。我還應該注意,該頁面使用Internet Explorer和Chrome的驅動程序實例成功加載。

我使用的是Firefox v33.1,IE 10和Chrome v38。最後,我應該注意到,這與我的自動證書選擇過程無關,因爲即使我只有Selenium Webdriver打開Firefox驅動程序並在那裏停止,然後我自己選擇證書並單擊確定,它仍會執行一樣的東西。

我認爲Selenium Webdriver可能會在Firefox驅動程序中內置一些煩人的警衛,它會實例化阻止它加載需要驗證的頁面。如果是這樣的話,有沒有人知道如何可能禁用?

+0

你能夠在不同的平臺上運行它嗎? (我猜你是在Windows上,因此可以在Linux或Mac OS上運行它。)Selenium中的一些錯誤是特定於平臺的。 – Louis

+0

不幸的是它必須在Windows平臺上工作。我認爲這與Selenium Webdriver加載指定配置文件的「模仿」而不是實際配置文件本身有關,因爲當我轉到Firefox故障排除信息並單擊配置文件夾旁邊的「顯示文件夾」時,它會將我指向名爲「anonymous90872345webdriver-profile」的文件夾,而不是配置文件本身的文件夾,就像我手動打開Firefox一樣。所有的書籤和已安裝的證書都被複制過來,但這並不是真正的配置文件夾。 – user2150250

+0

您誤解了我評論的意圖:如果它在其他平臺上運行良好,但在Windows中運行良好,則很可能是Selenium中的一個錯誤。我並不是說你應該切換到另一個平臺。 – Louis

回答

0

需要在Firefox插件 - >插件下將Java設置爲「Always Activate」。在它被設置爲「詢問激活」之前,但它在我選擇證書後從未明確要求激活,因此該頁面不會加載。