Reputation: 367
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
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