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.
