2014-09-23 52 views
1

场景:硒的webdriver红宝石:无法读取文本值有时

  1. 有一个在我的网页

  2. 文本我使用的XPath找到它

    myxpath=//table[@id='table44']/tbody/tr[1]/td[1]/span[2] 
    
  3. 我正在尝试使用

    value=driver.find_element(:xpath, myxpath).text 
    

但问题是:有时它会值&有时它不 &我不能够理解这个问题

任何替代方案,我可以尝试的原因是什么?

+0

你的2行*我得到它*值使用和*但它没能获得价值*是相互矛盾.. – 2014-09-23 07:33:31

+0

@arup 1.有时它会值有时它不 2我在我的帖子/问题中做了必要的修改 – user3812837 2014-09-23 08:30:46

回答

1

你可以使用explicit wait来写。

my_xpath = "//table[@id='table44']/tbody/tr[1]/td[1]/span[2]" 
wait = Selenium::WebDriver::Wait.new(:timeout => 10) 
element = wait.until { driver.find_element(:xpath, my_xpath) } 
puts element.text