我应该如何使用Selenium检查标题?

时间:2018-07-18 15:41:46

标签: java selenium junit

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

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>

1 个答案:

答案 0 :(得分:1)

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

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

但是我要说的是,如果找到具有此cssSelector:a[title='Управление пользователями']的元素,则意味着它的标题为Управление пользователями。无需通过assert再次证明它

或者,如果要检查element的文本值,则可以使用以下xPath:

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

您可以证明此类元素是否存在:

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

如果找不到元素,则会引发异常。