Как создать цикл в селениуме?

Рейтинг: 2Ответов: 1Опубликовано: 24.09.2014

В общем, нужен аналог цикла for. На данный момент код выглядит так:

for ( var i = 0; i < 5; i++) {
    driver.findElement(webdriver.By.css('.ckeditor_links')).click();
    driver.findElement(webdriver.By.css('#switch_edit-field-body-und-0-value')).click();
}

Код, который в цикле, не исполняется вовсе.

Ответы

▲ 1

Попробуйте сначала объявить ваши элементы:

 var webElement1 = driver.findElement(webdriver.By.css('.ckeditor_links')).click();
 var webElement2 = driver.findElement(webdriver.By.css('#switch_edit-field-body-und-0-value')).click();

Затем для проверки можно в цикле перед каждым действием вставлять:

console.log("click element");

далее запускаем сам цикл и смотрим консоль

for ( var i = 0; i < 5; i++) {
    console.log("click element "+i);//здесь вывод в консоль вашего счетчика, чтоб видеть каждую итерацию цикла 
    webElement1.click();
    timeout(1000);
    console.log("click element");
    webElement2.click();
}

И далее смотреть по выводу в консоли работает ли ваш цикл вообще. По имеющейся информации это пока все, что можно посоветовать. Если не поможет, дайте больше информации по классу и методу где используется данный цикл.