1
 require 'watir-webdriver'
 require 'win32ole'
 require 'roo'


 b= Watir::Browser.new(:firefox)
 b.goto('https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=http://mail.google.com/mail/&scc=1&ltmpl=default&ltmplcache=2')
 xl = WIN32OLE.new('excel.application')
 wrkbook= xl.Workbooks.Open("C:\\Excel\\mondial1.xlsx")

 wrksheet= wrkbook.Worksheets(1)
 wrksheet.Select

 username1= wrksheet.Range("a1").Value
 password1= wrksheet.Range("b1").Value

 b.text_field(:id, "Email").set("username1")
 b.text_field(:id, "Passwd").set("password1")
 b.button(:id, "signIn").click

 xl.Quit

我只想打开一个 Excel 表并从那里获取值,我需要将其作为输入提供给 gmail 中的文本字段。

而不是从 Excel 表中获取值*它直接设置为“username1” *我需要通过 Excel 传递值 请提供您的建议,在此先感谢

4

1 回答 1

3

问题

在行

 b.text_field(:id, "Email").set("username1")

您正在将字符串“username1”传递给该set方法。这就是输入文本字段的值的原因。

解决方案

您真正想要做的是传递变量的值username1。这是通过使其成为set方法的参数来完成的。

b.text_field(:id, "Email").set(username1)

请注意,周围没有引号username1password1变量也需要类似的。

于 2013-03-18T12:42:15.353 回答