Попытка открыть новую вкладку, щелкнув правой кнопкой мыши на веб-элементе, но не может - PullRequest
0 голосов
/ 06 мая 2018

Правый клик по элементу «Рубашка» вместо «Футболка». И после щелчка правой кнопкой он не выполняет операцию «открыть новую вкладку».

Примечание. При щелчке правой кнопкой мыши по окну окно немного опускается и выбирается элемент «Рубашка».

driver = new ChromeDriver();
driver.Navigate().GoToUrl("http://www.flipkart.com");
IWebElement menHomePageElement = driver.FindElement(By.XPath("//a[@title = 'Men']"));
driver.Manage().Window.Maximize();

Thread.Sleep(5000);

driver.FindElement(By.XPath("//div/button[text() = '✕']")).Click();
Actions action = new Actions(driver);

IWebElement tshirtLinnk = driver.FindElement(By.XPath("//a[@title = 'T-Shirts']"));
IWebElement shirtLinnk = driver.FindElement(By.XPath("//a[@title = 'Shirts']"));
IWebElement kurtasLinnk = driver.FindElement(By.XPath("//a[@title = 'Kurtas']"));

Thread.Sleep(3000);

action.MoveToElement(menHomePageElement).Perform();

Thread.Sleep(3000);

action.MoveToElement(tshirtLinnk).Perform();

Thread.Sleep(5000);

action.ContextClick(tshirtLinnk).SendKeys(Keys.ArrowDown).Build().Perform();

Element Trying to click

Item getting clicked

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

Нажмите Ctrl + B с помощью Action и Sendkeys или с помощью Java-API-интерфейса инфраструктуры роботов. Затем перейдите на новую вкладку по индексу и перейдите к нужному URL.

0 голосов
/ 06 мая 2018

Можете ли вы обмануть вас следующим? Открывается новое окно с нужным URL:

driver.Url = "http://www.flipkart.com";      
driver.FindElement(By.CssSelector("button._2AkmmA._29YdH8")).Click();
Actions action = new Actions(driver);
action.MoveToElement(driver.FindElement(By.CssSelector("#container > div > header > div.zi6sUf > div > ul > li:nth-child(3) > a > span"))).Perform();
action.MoveToElement(driver.FindElement(By.CssSelector("a[title='T-Shirts']"))).Perform();

string nextLink = driver.FindElement(By.CssSelector("a[title='T-Shirts']")).GetAttribute("href");
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
js.ExecuteScript("window.open('" + nextLink +"');");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...