I doubt it would beat the speed of nokogiri, but I have to wonder, if you 
were to assemble the row contents as a string or regex, lets call it 
'expected', and then simply look for the row via .row(:text => expected). 
 how fast would that be?


On Monday, July 15, 2013 8:51:09 AM UTC-7, Super Kevy wrote:
>
> Awesome just the advise I'm looking for, thanks for contributing.   
>
> On Friday, July 12, 2013 9:31:20 PM UTC-5, Justin Ko wrote:
>>
>> The "CheckTableUsingRowArray" approach does not seem faster to me. The 
>> location of the timer excludes the Watir portion of the code, which is 
>> costly. In particular, the following line adds about 28 seconds for me:
>>
>> myTableArray = obj.to_a  #Array the table
>>
>> An alternative approach is to use the Nokogiri gem to parse the table. 
>> Zeljko had a good post on the topic - 
>> http://zeljkofilipin.com/watir-nokogiri/ . 
>>
>> Try the following, which takes about 0.1 seconds:
>>
>> #myHash is the same ordered hash used in the other approaches:
>> myHash = { 'col1' => 'Row30 Content1', 'col2' => 'Row30 Content2', 'col3' 
>> => 'Row30 Content3', 'col4' => 'Row30 Content4', 'col5' => 'Row30 
>> Content5', 'col6' => 'Row30 Content6', 'col7' => 'Row30 Content7', 'col8' 
>> => 'Row30 Content8' }
>> myArray = myHash.values
>>   
>> start = Time.now 
>> obj = ie.table(:id,'table1')
>> nokogiri = Nokogiri::HTML.parse(obj.html)
>> nokogiri.css('tr').each_with_index do |tr, i|
>>     if tr.css('td').collect(&:text) == myArray
>>         puts "Row to click: #{i}"
>>     end
>> end
>> puts "Time to finish: #{Time.now - start}"
>>
>> #Output:
>> # Row to click 30
>> # Time to finish: 0.091
>>
>> - Justin Ko
>>
>>
>>
>>

-- 
-- 
Before posting, please read http://watir.com/support. In short: search before 
you ask, be nice.

[email protected]
http://groups.google.com/group/watir-general
[email protected]

--- 
You received this message because you are subscribed to the Google Groups 
"Watir General" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to