Как сделать так, чтобы драйвер перешёл на другой сайт вместе с нажатием по элементу? Просто URL ка каждом аккаунте разный. Пример:
Brouser.Navigate().GoToUrl("https://vk.com/feed");
IWebElement mYSTR = Brouser.FindElement(By.LinkText("Моя Cторінка"));
mYSTR.Click();
IWebElement Myname = Brouser.FindElement(By.ClassName("page_name"));
// тут ошибка, потому что драйвер остался на https://vk.com/feed
В данном случае то, что URL изменяется, не имеет никакого значения. Дело в том, что Ваш тест, вероятнее всего, завершается быстрее, чем открывается новая страница по нажатию кнопки. Поэтому необходимо создать ожидание для данного события нажатия по веб-элементу.
Код может выглядеть следующим образом:
Brouser.Navigate().GoToUrl("https://vk.com/feed");
IWebElement mYSTR = Brouser.FindElement(By.LinkText("Моя Cторінка"));
mYSTR.Click();
// Создаем локатор для элементов, которые должны быть видимы при следующем действии
By nextPageMainElementsLocator = By.ClassName("page_name"); // Здесь лучше
//поместить другой локатор. Но т.к. я не знаю, какая именно страница открывается, то лучше и не предложишь
// Создаем ожидание
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(12.00));
wait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(nextPageMainElementsLocator));
// Все, теперь мы точно знаем, что элементы, локатором для которых является nextPageMainElementsLocator, видимы.
IWebElement Myname = Brouser.FindElement(By.ClassName("page_name"));
В заключение хочу порекомендовать Вам почитать про правильное написание локаторов. Также рекомендую посмотреть в сторону локаторов XPath.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В приложении по клику на разные кнопки меню в ContentControl подгружаются разные вьюшкиВ каждой вьюьшке идет запрос к базе данных, каждую секунду...
Как сделать sprite во весь экран (Независимую размерность, унив?
Помогите написать на любом языке программу, которая
Это код игры в WindowsFormПри открытии игра сразу начинает работать но нужно что бы было по нажатию ENTER, как это сделать это я не понял