嘿,我解决不了什么大问题。我必须使用cssSelector
或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>
答案 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')]"));
如果找不到元素,则会引发异常。