当前位置: 首页 > 编程语言 > C#

在新标签页中打开链接seleniumc#分享

时间:2023-04-10 20:03:03 C#

在新标签页中打开链接seleniumc#我正在编写一个程序来运行我网站上列出的视频以进行测试,这里我需要的想法是在同一浏览器窗口中的不同选项卡。我有一百个videourlvideoLinks=getVideoUrls();在List中,我现在需要的是一次执行这些video5。ChromeDriver驱动程序=newChromeDriver();driver.Navigate().GoToUrl("https://www.withoutabox.com"+videoLink);如果我执行上述操作,那么我将必须为所有视频创建一个新的ChromeDriver对象。我想使用单个chrome浏览器对象。我试过这个IWebElementbody=driver.FindElement(By.TagName("body"));body.SendKeys(Keys.Control+"t");它只是添加一个新标签,但不会打开那里的链接。请让我知道如何解决它。我用谷歌搜索但找不到我的解决方案,所以想寻求帮助。试试这个:publicvoidSwitchToTab(objectpageId){webDriver.SwitchTo().Window(pageId.ToString());您可以使用CurrentWindowHandle来查找当前选项卡。webDriver.CurrentWindowHandle;对于您的场景,我使用以下代码:publicIPageAdapterOpenNewTab(stringurl){varwindowHandles=webDriver.WindowHandles;scriptExecutor.ExecuteScript(string.Format("window.open('{0}','_blank');",url));varnewWindowHandles=webDriver.WindowHandles;varopenedWindowHandle=newWindowHandles.Except(windowHandles).Single();webDriver.SwitchTo().Window(openedWindowHandle);返回新的SeleniumPage(webDriver);更新窗口打开以创建一个新的弹出窗口。默认情况下,浏览器设置可以阻止此选项。在浏览器中手动禁用弹出窗口阻止。要在浏览器中检查这个打开的js控制台并尝试执行命令window.open('http://facebook.com','_blank');如果新窗口成功打开,则一切正常。您还可以创建具有特定设置的Chrome驱动程序。这是我的代码:varchromeDriverService=ChromeDriverService.CreateDefaultService();varchromeOptions=newChromeOptions();chromeOptions.AddUserProfilePreference("profile.default_content_settings.popups",0);返回新的ChromeDriver(chromeDriverService,chromeOptions,TimeSpan.150));这是在seleneiumc#中打开一个新标签页的简单解决方法:以上是C#学习教程:在新标签页中打开链接seleniumc#全部内容分享,如果对大家有用,需要详细了解C#学习教程,希望大家多多关注—driver.Url="http://www.gmail.net";IJavaScriptExecutorjs=(IJavaScriptExecutor)驱动程序;js.ExecuteScript("window.open();");本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: