Я пытаюсь познакомиться с новым ruby selenium-webdriver, поскольку он выглядит более интуитивно понятным, чем предыдущая версия селена и рубиновый драйвер, который был с ним. Кроме того, мне не удалось заставить старый селен работать с ruby 1.9.1 в окнах, поэтому я подумал, что буду искать альтернативу. Пока что я сделал это с помощью script:
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");
Не похоже, что рубиновая версия имеет эту функцию, хотя я ничего не теряю. Любая помощь будет оценена.