2013-06-20 26 views
1

我正尝试使用xpaths提取网页上的元素(下拉框)中显示的值。我已经安装在Firefox萤火和XPath检查,我试图从长相像提取这样的元素:使用selenium,fiebug,xpaths从网页元素中提取值

<input id="dateTxt" class="textBox" value="Thursday June 20" onfocus="this.blur()" onclick="gird.show('date')" size="9" maxlength="50" readonly="readonly"> 

道歉我不能分享正是我的工作,但也就是JIST。

我想将值的内容(值=“星期四六月20”)保存为一个字符串,以便我可以解析日期。但我一直无法获得正确的xpath。这是我迄今为止在我的代码

text = @driver.find_element(:xpath => "//*[@id=\"dateTxt\"]") 

如果我对此执行.text没有分配给文本。

如果需要更多信息,请申请,这是我第一次使用xpaths。

回答

2

赫姆..你可以试试下面的:

@driver.find_element(:css,"input#dateTxt").attribute("value") 
#=> "Thursday June 20" 

@driver.find_element(:xpath,"//input[@id = 'dateTxt']").attribute("value") 
#=> "Thursday June 20" 

看看下面的页面Element examples:Selenium::WebDriver::Element#attribute

+0

我相信这个访问的值感谢你为这个!我也想知道如何用xpaths做到这一点?我试图与我的测试保持一致,并且我不知道我是否应该使用xpaths或仅使用由硒提供的访问方法?任何输入真的很感激! – meggex

+1

@megaxelize尽可能使用'#css'。它看起来总是很好。我也给'xpath'表达式等待。 –

+1

有关术语的简短问题?当你说使用:CSS是什么意思?我只是总是将它与设计页面布局相关联,而不是在html文档中搜索或访问值的形式。 – meggex

相关问题