刚开始使用ruby + webdriver,我做了一个小脚本,我想知道为什么脚本不会点击web元素然后输入值?
require 'rubygems'
require 'selenium-webdriver'
class Standard_webdriver_ruby
driver = Selenium::WebDriver.for :firefox
driver.get 'http://demoqa.com/contact/'
driver.manage.window.maximize
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
fillFormData = Array.new('rob', 'rob@hotmail.co.uk', 'whoop', 'Message content')
name_field = driver.find_element :css => ('#wpcf7-f375-p28-o1 > form > p:nth-child(2) > span > input')
name_field.click
name_field.send_keys(fillFormData[0])
email_field = driver.find_element :css => '#wpcf7-f375-p28-o1 > form > p:nth-child(3) > span > input'
email_field.click
email_field.send_keys(fillFormData[1])
subject_field = driver.find_element :css => '#wpcf7-f375-p28-o1 > form > p:nth-child(4) > span > input'
subject_field.click
subject_field.send_keys(fillFormData[2])
message_field = driver.find_element :css => '#wpcf7-f375-p28-o1 > form > p:nth-child(5) > span > textarea'
message_field.click
message_field.send_keys(fillFormData[3])
end
答案 0 :(得分:0)
您错误地实例化了数组:
# incorrect
fillFormData = Array.new('rob', 'rob@hotmail.co.uk', 'whoop', 'Message content')
# correct
fillFormData = ['rob', 'rob@hotmail.co.uk', 'whoop', 'Message content']
# correct, ruby-way
fillFormData = %w[rob rob@hotmail.co.uk whoop Message\ content]
Array#new
期望大小或数组作为参数。