我们选择使用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']")))
Run Code Online (Sandbox Code Playgroud)
(该类继承自LiveServerTestCase).
问题是有时会有没有文本的元素,如果我们选择[text()='']它失败(len为0).如何选择没有文字的元素?
更新:因为[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)
Run Code Online (Sandbox Code Playgroud)
现在我可以断言同一行:
self.assertEqual(1, len(self.selenium.find_elements_by_xpath("//a[@href='#'][@class='button properties'][@title='Properties'][not(text())]")))
Run Code Online (Sandbox Code Playgroud)
Mat*_*att 13
你可以使用XPath的 not()功能.
//a[@href='#'][@class='button save-as'][@title='Save As...'][not(text())]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7162 次 |
| 最近记录: |