我们使用Django 1.4测试和Selenium选择元素,如下所示:
self.assertEqual(1, len(self.selenium.find_elements_by_xpath("//a[@href='#'][@class='button save-as'][@title='Save As...'][text()='Save As']")))(类继承自LiveServerTestCase)。
问题是,有时有些元素没有文本,如果我们用[text()='']进行选择,它就会失败( len是0)。如何选择没有文本的元素?
Update:因为[text()='']没有工作,所以我不得不断言两行来断言没有文本:
self.assertEqual(1, len(self.selenium.find_elements_by_xpath("//a[@href='#'][@class='button properties'][@title='Properties']")))
self.assertEqual("", self.selenium.find_element_by_xpath("//a[@href='#'][@class='button properties'][@title='Properties']").text)现在,我可以用一行断言相同的内容:
self.assertEqual(1, len(self.selenium.find_elements_by_xpath("//a[@href='#'][@class='button properties'][@title='Properties'][not(text())]")))发布于 2014-05-21 09:53:35
您可以使用XPath的not()函数。
//a[@href='#'][@class='button save-as'][@title='Save As...'][not(text())]https://stackoverflow.com/questions/23779467
复制相似问题