[英]How to open a url on a new Chrome Tab using selenium C# over NUnit test framework
我正在尝试测试单点登录功能; 其中,我打开了chrome会话并登录到网页。 此后,我想在同一浏览器窗口上打开一个新选项卡,然后打开先前输入的URL的另一个扩展名,以验证它保留了用户会话。 我无法在chrome上打开新标签页,然后切换焦点-
这就是我尝试过的(我是新手,还在学习...。感谢所有帮助/建议)
using OpenQA.Selenium.Chrome;
using NUnit.Framework;
using OpenQA.Selenium.Support.UI;
using System.Collections.Generic;
using System.Web;
using System.Threading.Tasks;
namespace Test
{
[Binding]
public class XXX
{
IWebDriver driver = new ChromeDriver();
public void LoginPage()
{
driver.Navigate().GoToUrl("http://www.abcd.com/");
}
public void LoggedIn()
{
//Entering username & password on Platform login page
driver.FindElement(By.Id("username")).SendKeys("abcd");
driver.FindElement(By.Id("password")).SendKeys("XXXX");
var loginBtn = driver.FindElement(By.CssSelector("input[type='button']"));
loginBtn.Click();
}
public void OpenANewBrowserTab()
{
driver.SwitchTo().ParentFrame();
driver.FindElement(By.CssSelector("body")).SendKeys(Keys.Control + "t");
driver.Navigate().GoToUrl("http://abcd.com/ux");
}
我遇到错误了-
An exception of type 'OpenQA.Selenium.NoSuchElementException' occurred in
WebDriver.dll but was not handled in user code
Additional information: no such element: Unable to locate element:
{"method":"css selector","selector":"body"}
要获得关注,请使用以下语句。
driver.SwitchTo().ActiveElement();
它与javascript语句document.activeElement的语义相同。如果那对您不起作用。 然后,作为最后的手段,您始终可以使用javascript 。
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
js.ExecuteScript("var win = window.open('https://www.bing.com', '_blank');
win.focus();");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.