Клики в браузере Chrome - PullRequest
       7

Клики в браузере Chrome

0 голосов
/ 30 января 2019

Я написал этот код

List<IWebElement> CountingAds = driver.FindElements(By.XPath("//a[@onmousedown='return google.arwt(this)']")).ToList();
                for (int i = 0; i < CountingAds.Count; i++)
                {
                    Thread.Sleep(5000); CountingAds.ElementAt(i).Click(); driver.Navigate().Back();
                }

для нажатия на объявления, которые появляются, когда мы выполняем поиск в браузере Chrome, но он просто нажимает на первое объявление успешно, но в следующий раз выдает эту ошибку введите изображениеописание здесь кто-то помог мне с этой проблемой, я становлюсь слишком расстроенным, ребята.

1 Ответ

0 голосов
/ 30 января 2019

Вы получаете исключение ссылки на устаревший элемент, которое возникает, когда элемент, с которым вы работаете, больше не присутствует или является старым элементом, и поэтому он работает только в первый раз, а не после этого.
Итак, чтобы решитьЭта проблема, вам нужно получать свежие элементы каждый раз после нажатия на одно объявление.
Например (я использую Java, поэтому, пожалуйста, преобразуйте код на любой язык, который вы используете):

List<WebElement> CountingAds = driver.findElements(By.xpath("//a[@onmousedown='return google.arwt(this)']"));
CountingAds.get(0).click();

ИТеперь снова загрузите список webelement и снова нажмите на элемент, как мы делали это с помощью приведенного выше кода.Это решит вашу проблему.

...