之間餅乾我有以下情形:硒FirefoxDriver:共享會話/不同的情況下
我有一個C#WPF程序,我試圖在同一時間從他們訪問不同的網站,並收集數據。
網站(www.example.com)的登錄表單,並登錄後顯示號碼的鏈接,如www.example.com?redir=abc
我做什麼:
- 啓動FirefoxDriver 1
- 登錄
- 無限循環:收集所有的鏈接&刷新頁面
問題是,我的另一個FirefoxDriver實例2在我的項目中的另一個線程中運行。
在此實例2中,我訪問之前收集的鏈接並希望打開它們。
問題是,爲了訪問他們(他們重定向),我需要再次登錄到網站A. 當我登錄時,實例1上的會話結束,所以我需要再次登錄等等等這樣,有效的實例就是「竊取」其他會話。 (我想更多地擴展這個例子以使實例3,4 ...使問題變得更糟)。
顯然我的問題是實例1和實例2沒有共享同一個會話。
可能性,我覺得要解決這個問題:使用相同的FirefoxProfile
- :試過了,沒有工作,仍然沒有用一個實例與2窗口/標籤共享會話
- 和訪問它使用硒ThreadGuard類兩個線程:好像很複雜,因爲我需要使用Selenium電網所有的時間
- 窗口之間切換:似乎矯枉過正,我還沒能弄清楚,如果這是正確的事情對我來說
因此,我問,任何人有一個建議,我應該如何設計?
謝謝你的幫助。
有點困惑爲什麼你甚至使用線程來做到這一點? – Arran 2014-09-30 11:12:35
,因爲我需要不斷地更新和從網站A上閱讀,同時在第二個網站上做些東西B.我認爲線程是正確的事情,實際上我不知道如何做到這一點。任何建議可能? – skhro87 2014-09-30 15:09:29