我有一个与下面相同的驱动程序代码。 现在,我想打开一个新标签,然后将新标签导航到另一个URL。 但是我遇到一个错误
System.InvalidOperationException:第3行缺少字段
handle
第1栏
DesiredCapabilities Capabilities = new DesiredCapabilities();
Capabilities.SetCapability(CapabilityType.BrowserName, "firefox");
string GridURL = "http://localhost:4545/wd/hub";
Driver = new RemoteWebDriver(new Uri(GridURL), Capabilities);
Driver.Navigate().GoToUrl("http://URL1.com");
IJavaScriptExecutor js = (IJavaScriptExecutor)Driver;
js.ExecuteScript("window.open('URL2.com', '_blank');");
// this line have error
//System.InvalidOperationException: missing field `handle` at line 3 column 1
Driver.SwitchTo().Window(Driver.WindowHandles.First());
答案 0 :(得分:1)
First()
方法,因此尝试访问array-like manner中的句柄示例代码:
WebDriverWait wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(10));
wait.Until(d => d.WindowHandles.Count == 2);
Driver.SwitchTo().Window(Driver.WindowHandles[1]);
Console.WriteLine(Driver.Title);