我想测试的是表格元素是否存在?如果没有表格,我只想让脚本结束。但是,如果有一个表我想输出到Excel。测试一个html表格元素是否存在使用ruby watir
该脚本测试两个网址:
http://www.mycounciltax.org.uk/results?postcode=EX99AE&search=Search
http://www.mycounciltax.org.uk/results?postcode=CV56bz&search=Search
第一URL中提出了一个网页,而无需HTML表格和第二呈现一个网页,包括HTML表格元素。
我曾尝试将以下脚本放在一起,但我不认为这是正确的。我确信我在测试table元素时犯了一个错误。
if browser.table.trs.collect {|tr| [tr[0].text, tr[1].text, tr[2].text]}.exists?
then content = browser.table.trs.collect {|tr| [tr[0].text, tr[1].text, tr[2].text]}
如果你从下面的脚本删除上面的代码将运行,但会翻倒,当它没有找到HTML表格。
require "watir-webdriver"
browser = Watir::Browser.new :ff
browser.goto "http://www.mycounciltax.org.uk/results?postcode=CV56BZ&search=Search"
if browser.table.trs.collect {|tr| [tr[0].text, tr[1].text, tr[2].text]}.exists?
then content = browser.table.trs.collect {|tr| [tr[0].text, tr[1].text, tr[2].text]}
require 'win32ole'
application = WIN32OLE.new('Excel.Application')
application.visible = TRUE
workbook = application.Workbooks.Add();
worksheet = workbook.Worksheets(1);
worksheet.visible
row = 1; column = 0
content.each do |array|
array.each do |element|
worksheet.Cells(1,1).offset(row,column).value = element #.offset(row,column)
column += 1
end
row += 1
column = 0
end
else end
browser.goto "http://www.mycounciltax.org.uk/results?postcode=EX99AE&search=Search"
if browser.table.trs.collect {|tr| [tr[0].text, tr[1].text, tr[2].text]}.exists?
then content = browser.table.trs.collect {|tr| [tr[0].text, tr[1].text, tr[2].text]}
require 'win32ole'
application = WIN32OLE.new('Excel.Application')
application.visible = TRUE
workbook = application.Workbooks.Add();
worksheet = workbook.Worksheets(1);
worksheet.visible
row = 1; column = 0
content.each do |array|
array.each do |element|
worksheet.Cells(1,1).offset(row,column).value = element #.offset(row,column)
column += 1
end
row += 1
column = 0
end
else end
我打算一次运行上面的代码。任何人都可以指出我要去哪里吗?我是ruby和watir的新手:-)。
非常感谢提前。
这是我用过的解决方案。非常感谢。 – user1077250 2012-02-06 14:10:22