首页 > 解决方案 > 在 selenium 框架中不添加大量定位器的情况下验证多个元素的文本的最佳策略是什么?

问题描述

我想使用 selenium java 自动化测试,我需要检查整个页面上是否不存在特定文本。

该页面有许多可能存在此文本的元素。一般来说,如果是几个元素,我可以通过 standard 解决这个问题driver.findElement(By.xpath("//somepath")).getText()。但是,我想编写一个没有大量定位器的高效测试。

标签: javaseleniumselenium-webdriverui-automation

解决方案


您可以使用 XPATH 选择器'//*[contains(text(), "YOUR_TEXT")]来查找您需要的文本。

Python上的代码示例:

def find_text_on_the_page(text):
    selector = '//*[contains(text(), "{}")]'.format(text)
    elements = browser.find_elements_by_xpath(selector)
    assert len(elements), 'The text is not on the page'

希望对你有帮助。


推荐阅读