2015-12-02 4 views
1

Я стараюсь любимые твиты, используя javascript selenium webdriver. То, что я хочу сделать, это поиск ключевого слова, переход на живую вкладку, любимые последние 50 твитов и последующие за этими людьми. Мои любимые чириканья часть кода не работает, и я получаюКак нажимать на любимые кнопки твитов, используя selenium javascript

StaleElementReferenceError: Element not found in the cache - perhaps the page has changed since it was looked up

ошибка. Вот мой код, вы можете помочь мне, как нажимать на любимые кнопки?

var button = driver.findElement(By.className('HeartAnimation')); 

function buttoninthearray(driver, i) { 
    var buttons = driver.findElements(By.className('HeartAnimation')); 
    return webdriver.promise.filter(buttons, function(button) { 
     return button.isDisplayed(); 
    }).then(function(visiblebuttons) { 
     return visiblebuttons[i]; 
    }); 
} 
for(i = 0; i <limit; i++){ 
    buttoninthearray(driver, i).then(function(button){ 
     button.click(); 
    }); 
    driver.sleep(1000); 
} 

ответ

0

Это фрагмент из селена документы на Несвежее Элемент Reference Исключение:

Общий метод, используемый для моделирования вкладок пользовательского интерфейса в веб-приложение, чтобы подготовить DIVs для каждой вкладки, но только прикрепить один в то время, сохраняя остальное в переменных. В этом случае вполне возможно, что ваш код может иметь ссылку на элемент, который больше не привязан к DOM (то есть имеет предка, который является «document.documentElement»).

Вот ссылка на документы: http://docs.seleniumhq.org/exceptions/stale_element_reference.jsp

Поскольку вы имеете дело с закладками UI, это может быть проблемой.

Как и на странице: снова, как только он прикреплен к DOM ».

Смежные вопросы