java - 元素不可见——XPath 只查找样式
问题描述
我正在尝试使用 XPath 定位器找到以下按钮:
//button[contains(text(), 'Save Request')]
但是,当我这样做时,我收到一个错误:
Element is not Visible
当我尝试使用 Chropath 输入此 XPath 时,它似乎在样式 XPath 属性之后的“1”上突出显示。我将如何解决这个问题?
我尝试添加等待直到元素可见但仍然遇到相同的问题:
public CreatePartRequestModalPage saveRequest() {
waitForElement(By.xpath(SAVE_REQUEST_XPATH), State.ELEMENT_IS_VISIBLE);
saveRequest.click();
return PageFactory.initElements(driver, CreatePartRequestModalPage.class).get();
}
HTML 作为文本:
<button class="btn btn-primary ng-scope" ng-click="ctrl.saveRequest()" ng-if="ctrl.partsList.length > 0" style="" xpath="1">
Save Request
</button>
解决方案
那用别的东西会更好contains text()
您可以使用//button[@class="btn btn-primary ng-scope"]
希望这可以帮助
推荐阅读
- javascript - 有没有办法同时用多个回调修改相同的状态?
- java - java.lang.ClassNotFoundException: org.apache.http.HttpEntity 在 HttpPost
- spring-boot - spring boot 无法解析 thymeleaf 模板
- sql-server - 将数据从 Excel 上传到 SQL 格式化日期
- sequelize.js - Sequelize:将 where 子句应用于子查询
- powershell - Invoke-PnPQuery 权限问题
- java - Android游戏在线,如何与远程数据库通信
- botframework - 将变量从网络聊天客户端传递到机器人框架
- strapi - Strapi 深度排序
- html - Ionic5 打字稿,我怎么能告诉我的 html 它的 html 代码 [innerHTML] 不起作用