Calvin Jones
Calvin Jones

Reputation: 367

Scraping HTML with ruby

I'm working with HTML code in ruby and am trying to retrieve a value from a table. Here's what the HTML code looks like

<table class="forumline" border="0" width="90%">

<tr>

<td align="center" class="row2" width="15%">Number<br><input type="text" name="T12" size="20" value="33.5756"></td>

</tr>
</table>

I got it to where my program successfully finds the name but how would I get the value belonging to it which is '33.5756'

require 'selenium-webdriver'

driver = Selenium::WebDriver.for :firefox
  driver.get("---site goes here---")
  table_data = driver.find_element(:name, "T13")

Upvotes: 1

Views: 105

Answers (1)

Arup Rakshit
Arup Rakshit

Reputation: 118299

Write code as below :

require 'selenium-webdriver'

driver = Selenium::WebDriver.for :firefox
driver.get("---site goes here---")
table_data = driver.find_element(:name, "T12")
val = table_data.attribute('value')
puts val # => '33.5756'

The method documentation is as below :

(String?) attribute(name) :

Selenium::WebDriver::Element#attribute

Get the value of a the given attribute of the element. Will return the current value, even if this has been modified after the page has been loaded. More exactly, this method will return the value of the given attribute, unless that attribute is not present, in which case the value of the property with the same name is returned. If neither value is set, nil is returned. The “style” attribute is converted as best can be to a text representation with a trailing semi-colon. The following are deemed to be “boolean” attributes, and will return either “true” or “false”:

async, autofocus, autoplay, checked, compact, complete, controls, declare, defaultchecked, defaultselected, defer, disabled, draggable, ended, formnovalidate, hidden, indeterminate, iscontenteditable, ismap, itemscope, loop, multiple, muted, nohref, noresize, noshade, novalidate, nowrap, open, paused, pubdate, readonly, required, reversed, scoped, seamless, seeking, selected, spellcheck, truespeed, willvalidate

Upvotes: 1

Related Questions