1
我想打開一個新選項卡並關閉Selenium中的第一個選項卡。無法在Selenium中發送密鑰C#
所以,我使用SendKeys
方法來做到這一點。
但我的問題是,當我打開新標籤時,我無法繼續使用SendKeys
方法切換到我的第一個標籤並關閉當前標籤。 進入while循環時,SendKeys
和ExecuteJS
都不起作用。
我試着用這段JavaScript代碼:
browser.ExecuteJS("window.close();");
,但它也不能正常工作。
我的代碼是這樣的:
IWebElement body = browser.FindElementByTagName("body");
//browser.ExecuteJS("window.open();");
body.SendKeys(OpenQA.Selenium.Keys.Control + 't');
browser.DeleteAllCookies();
Thread.Sleep(50);
while (browser.GetWindowNum() > 1)
{
body.SendKeys(OpenQA.Selenium.Keys.Control + OpenQA.Selenium.Keys.Tab);
body.SendKeys(OpenQA.Selenium.Keys.Control + 'w');
//browser.ExecuteJS("window.close();");
_tmExcute = DateTime.Now;
}
browser.GoToUrl(link);
browser.WaitForPageToLoad();
我使用的方法GetWindowNum()
檢查標籤的數量超過1 這裏是我的代碼來檢查在瀏覽器標籤的數量:
public int GetWindowNum()
{
return wd.WindowHandles.Count;
}
您是否驗證過進入循環的條件是否滿足? –
@ ext0是的,條件將爲真,它進入循環,但while循環中的所有代碼都不起作用。 – vanloc