我想知道是否有可能檢查與C#和硒web驅動程序,如果某個網頁在默認瀏覽器中打開? 我的想法是將某個票務系統的時間跟蹤器與toggl連接起來。C#Selenium WebDriver - 是否可以檢查某個網頁是否已在瀏覽器中打開?
例如 - 單擊售票系統中的「Time Track」按鈕,程序同時以編程方式單擊toggl開始按鈕。
我想知道是否有可能檢查與C#和硒web驅動程序,如果某個網頁在默認瀏覽器中打開? 我的想法是將某個票務系統的時間跟蹤器與toggl連接起來。C#Selenium WebDriver - 是否可以檢查某個網頁是否已在瀏覽器中打開?
例如 - 單擊售票系統中的「Time Track」按鈕,程序同時以編程方式單擊toggl開始按鈕。
是的,這是可能的。
您可以設計一個解決方案來檢查默認窗口的URL或標題。
if (driver.Url == 'http://some_url') { /* you are there */ }
或
if (driver.Title == 'Some Title') { /* the window is open and currently there */ }
現在,如果你正在運行使用自己的瀏覽器中手動瀏覽器,然後期待硒檢測是,那麼我很抱歉,但那不可能。
除了@sircapsalot答案:
這是不夠的,因爲我們的目標是在「時間跟蹤」按鈕的點擊
在票務系統
首先你應該確定該頁面已經被加載,並且IWebElement
是可點擊的。如果沒有一些高級的用法去(如頁面狀態的JS驗證),這應該做的工作就好了:
var wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(15));
var myElement = wait.Until(x => x.FindElement(By.Id("timeTrackBtnId")));
if(myElement.Displayed)
myElement.Click();
,然後去
程序點擊toggl啓動按鈕編程,同時
我不知道你會如何同步和頁面的JS事件將如何處理這個問題同時採取行動,但你可以嘗試System.Threading。如果頁面是由你創建的,也許這第二部分(點擊按鈕,點擊togl)最好在JS代碼中處理。
謝謝,我會試試! – user3410566