我正在Selenium中编写一个文本,该文本获取表的最左列,并验证其单元格中的字符串是否与我拥有的日期列表匹配。我的代码看起来像这样:
dates = ["20130501", "20130502", "20130506", "20130507", "20130508", "20130509", "20130510", "20130513", "20130514", "20130515"]
mytable = self.driver.find_element(By.ID, "mytable")
datecells = mytable.find_elements(By.CSS_SELECTOR, "tbody td:first-child")
for date, cell in zip(dates, datecells):
print "'{0}', '{1}'".format(date, cell.text) # For debugging
#self.assertEqual(date, cell.text)
断言断言后,我将其打印出来:
'20130501',''
“ 20130502',”
'20130506',''
'20130507',''
'20130508',''
'20130509',''
'20130510',''
'20130513',''
'20130514',''
'20130515',''
奇怪的是,如果我在打印上放置一个断点(将MyEclipse与PyDev结合使用),并在输出之前查看PyDev Debug的变量选项卡中的单元格,那么我可以看到正确的文本,并且代码按预期输出:
'20130501','20130501'
'20130502','20130502'
'20130506','20130506'
'20130507','20130507'
'20130508','20130508'
'20130509','20130509'
'20130510','20130510'
'20130513','20130513'
'20130514','20130514'
'20130515','20130515'
WebElement .text属性是否存在一些奇怪的观察者效果怪癖,只能通过此调试器正确评估,还是有一些条件我需要等待才能从单元格中获取正确的值而不必单步执行?
一只甜甜圈
相关分类