gpt4 book ai didi

selenium - 如何在XPath中选择一个空元素?

转载 作者:行者123 更新时间:2023-12-03 15:33:05 26 4
gpt4 key购买 nike

我们选择带有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)。如何选择没有文本的元素?

更新:因为 [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())]")))

最佳答案

您可以使用XPath的not()函数。

//a[@href='#'][@class='button save-as'][@title='Save As...'][not(text())]

关于selenium - 如何在XPath中选择一个空元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23779467/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com