首页 > 解决方案 > 我应该如何使用 Selenium 检查标题?

问题描述

嘿,我解决不了小问题。我必须使用cssSelectoror检查网页上元素的标题xpath。但我不明白应该使用什么命令来读取元素标题。这是我的代码:

assertEquals(driver.findElement(By.xpath("//*[@id=\"main-panel\"]/div[16]/a/dl/dd[1]")), "Создание, удаление и модификция пользователей, имеющих право доступа к Jenkins");
assertEquals(driver.findElement(By.cssSelector("a[title=\"Управление пользователями\"] > dl > dd")), "Управление пользователями");

Xpath 和 cssSelector 是正确的。如果需要,这里是 HTML 代码

<a href="securityRealm/" title="Управление пользователями"><img src="/static/4be99593/images/48x48/user.png" alt="manage-option" class="icon"><dl><dt>Управление пользователями</dt><dd>Создание, удаление и модификция пользователей, имеющих право доступа к Jenkins</dd><dd></dd></dl></a>

标签: javaseleniumjunit

解决方案


这将证明元素的标题是否正确:

assertEquals(driver.findElement(By.cssSelector("a[title='Управление пользователями']")).getAttribute("title"), "Управление пользователями");

但我会说,如果找到带有这个 cssSelector:a[title='Управление пользователями']的元素,它已经意味着它有 title Управление пользователями。无需再用 assert 证明一次

或者如果你想检查元素的文本值,你可以使用这个 xPath:

//a/dl[contains(., 'Управление пользователями') and contains(., 'Создание, удаление и модификция пользователей, имеющих право доступа к Jenkins')]

你可以证明这样的元素是否存在:

driver.findElement(By.xpath("//a/dl[contains(., 'Управление пользователями') and contains(., 'Создание, удаление и модификция пользователей, имеющих право доступа к Jenkins')]"));

如果找不到元素,它将抛出异常。


推荐阅读