java - 我应该如何使用 Selenium 检查标题?
问题描述
嘿,我解决不了小问题。我必须使用cssSelector
or检查网页上元素的标题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>
解决方案
这将证明元素的标题是否正确:
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')]"));
如果找不到元素,它将抛出异常。
推荐阅读
- amazon-web-services - 向世界其他地区(非美国)计费的 Amazon SNS SMS 通知的可变定价
- ruby-on-rails - 在 Rails 中构建类似 Twitter 的提要
- python - 索引错误:已选择列状态
- css - Bootstrap:为什么我的 pb pt py 或 mr mt mx 在 bootstrap 列中不起作用,而 sm sx dosent 也起作用。?
- reactjs - REACT TypeError:this.props.chatroomlist 不可迭代
- python - 我收到有关 Python 3.8.3 和 MySQL 8.0 互连的错误
- javascript - 打印处理函数中的参数
- satellite-image - 在 python 中读取 Hyperion Satellite E-01 数据集(.L1R 文件)
- c# - 如何在 LiteDB 中存储其他语言?
- javascript - 如何避免调用 postmessage