Я пытаюсь познакомиться с новым ruby selenium-webdriver, поскольку он кажется более интуитивно понятным, чем предыдущая версия selenium и драйвер ruby, который был с ним. Кроме того, у меня были проблемы с тем, чтобы старый селен работал с Ruby 1.9. До сих пор я делал это со своим скриптом:
require "selenium-webdriver"
driver = Selenium::WebDriver.for :firefox
driver.get "https://example.com"
element = driver.find_element(:name, 'username')
element.send_keys "mwolfe"
element = driver.find_element(:name, 'password')
element.send_keys "mypass"
driver.find_element(:id, "sign-in-button").click
driver.find_element(:id,"menu-link-my_profile_professional_info").click
driver.find_element(:id,"add_education_btn").click
country_select = driver.find_element(:name, "address_country")
Итак, в основном я вхожу на свой сайт и пытаюсь добавить запись об образовании в свой профиль пользователя .. У меня есть ссылка на поле выбора с параметрами (в файле country_select переменная), и теперь я хочу выбрать параметр с заданным значением .. Я не понимаю, как это сделать в новом клиенте .. Единственное, что я могу придумать, - это перебрать все параметры, пока не найду тот Хочу, а потом вызываю execute_script: http://selenium.googlecode.com/svn/trunk/docs/api/rb/Selenium/WebDriver/Driver.html#execute_script-class_method для установки selectedIndex.
Есть ли другой способ сделать это? В java api для selenium 2.0 / webdriver здесь: http://seleniumhq.org/docs/09_webdriver.html есть пример того, как это сделать
Select select = new Select(driver.findElement(By.xpath("//select")));
select.deselectAll();
select.selectByVisibleText("Edam");
Не похоже, что версия для Ruby имеет эту функцию, если только я чего-то не упускаю. Любая помощь будет принята с благодарностью.