Я новичок в кодировании. Насколько я знаю, вы успешно вошли в систему. На домашней странице, когда я нажимаю на указанную ссылку, она открывается в новой вкладке, в которой ожидается поведение. Теперь, когда я пытаюсь щелкнуть по элементам, присутствующим во вновь открытой вкладке, я не получаю такого исключения для элемента, потому что экземпляр драйвера указывает на 1-ю вкладку, а не на вторую. Как получить экземпляр драйвера недавно открытой вкладки. Ниже приведен код, который я использую.
// Это базовый класс.
public class BaseTest {
public static WebDriver driver ;
@BeforeTest
public void setUp() {
System.setProperty("webdriver.chrome.driver", "/chromedriver.exe");
driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("My url");
}
}
// Это тест входа в систему.
public class LoginTest extends BaseTest {
@Test
public void login() throws InterruptedException {
LoginPage loginpage = PageFactory.initElements(driver, LoginPage.class);
loginpage.enterUser_Name(userName);
loginpage.enterPass_Word(passWord);
loginpage.clickLoginButton();
}
}
Thread.sleep(5000);
loginpage.ClickOnTab();
Thread.sleep(5000);
loginpage.clickOnLink(); //At this line, new tab is opened automatically.
Thread.sleep(5000);
}
}
// Во вновь открывшейся вкладке мне нужно нажать на некоторые элементы. Это код, который я использую.
public class newTab extends BaseTest {
@Test
public void createNew() {
OtherPage create = PageFactory.initElements(driver,OtherPage.class);
Thread.sleep(10000);
create.clickOnTab();// At this line I am getting no such element exception
}
}
Пожалуйста, помогите мне, как мне выполнить действия на вновь открытой вкладке, и скажите, где я делаю ошибку.