#c# #selenium-webdriver
#c# #селен-веб-драйвер
Вопрос:
Я пытался автоматизировать вход в систему flipkart и добавление товара в корзину. всякий раз, когда я нажимал на продукт, он переходил на новую страницу и не мог найти указанный элемент(кнопка «Добавить в корзину») на новой странице. пожалуйста, помогите…Код, который я написал, выглядит следующим образом…
Веб-драйвер.findElement(По.XPath(«//img[содержит(@alt,’APPLE iPhone SE (черный, 64 ГБ)’)]»)).Нажмите();//нажал на веб-драйвер продукта.Найдите элемент(По.XPath(«//кнопка[@class=’_2KpZ6l _2U9uOA _3v1-ww’]»)).Нажмите();//переход на новую страницу
Ответ №1:
Когда открывается новая вкладка, вы должны переключить фокус драйвера Selenium на новую вкладку, чтобы получить доступ к элементам там.
Это можно сделать следующим образом:
driver.SwitchTo().Window(driver.WindowHandles.Last());
Когда вы закончите с этой вкладкой, вы захотите закрыть ее и переключиться обратно на первую вкладку.
Это можно сделать с помощью
driver.SwitchTo().Window(driver.WindowHandlesLast()).Close(); // close the last tab driver.SwitchTo().Window(driver.WindowHandles[0]); // get back to the first tab