Лучший и быстрый способ найти элемент - по id. Во многих браузерах время нахождения элемента по его идентификатору является линейным или даже постоянным. очень быстро.
Например, если задан элемент, определенный как:
<input type="text" name="passwd" id="passwd-id" />
Вы должны найти это так:
selenium.type("passwd-id", "test");
Или, если вы используете API webdriver:
element = driver.findElement(By.id("passwd-id"));
Если элементы на ваших страницах не имеют идентификаторов, добавьте их! или попросите разработчиков добавить их!
Следующий лучший способ найти элементы - по имени. Это также довольно быстро, особенно если имя уникально на странице.
Например:
selenium.type("passwd", "test");
Или, если вы используете API webdriver:
element = driver.findElement(By.name("passwd"));
Третий способ поиска элемента - использование CSS-селекторов. Современные браузеры очень хорошо умеют находить элементы таким образом.
Худший способ найти элемент - использовать xpath. xpath медленный, хрупкий и трудно читаемый.
Саймон Стюарт, крупный автор Selenium, отвечает на этот вопрос здесь:
http://www.youtube.com/watch?v=oX-0Mt5zju0&feature=related
искать метку времени 39: 00
Здесь также есть хорошая информация:
http://seleniumhq.org/docs/02_selenium_ide.html#locating-elements