javascript - 为 WebDriver.IO 页面对象传入一个变量而不是静态字符串
问题描述
我想传递一个方法或一个变量来代替静态定位器 xpath 字符串。
正在运行的代码是:
class LandingPage {
get enterCoursesButton() { return $('//*[text()="Knock And The Door Will Open"]'); }
click(pageElementName: string) {
this.enterCoursesButton.click();
}
}
export default new LandingPage()
我想做的是从我作为对象存储库创建的数据库中访问我的 XPath 值。所以像这样的东西..
get enterCoursesButton() { return $(Database.getLocator("enterCourses")); }
注意:Database.getLocator("enterCourses") 方法已经返回正确的 xpath。因此,此时只需将返回的 xpath 作为变量传递给 getter 对象,这样它就可以成为一个可操作的 Web 元素。操作意义可以访问click()、setValue()等。
我是一个使用 WebDriver.IO、JavaScript、TypeScript 等的新手。非常感谢任何帮助。
我收到的当前错误是:
我用javascript来确定typeof数据类型,肯定是一个:对象。
我注意到的另一个问题是正在使用的 click() 方法是 JQuery,不确定它是否与 WebDriver.IO 不同。但有一次我有一个安装“npm i @types/jquery”的建议出错,所以我安装了它。这是选择单击方法之前的屏幕截图。
解决方案
推荐阅读
- java - javafx重新计算父/节点边界时如何修复IndexOutOfBounds异常
- python - 对数据框进行操作以将行转换为单独的列
- django - 将列表值从 django 模板发送到 django 视图
- unity3d - 如何解决“统一 AR 项目中的重力问题”
- bash - 填充csv的列
- javascript - 尝试使用签名方法将文件上传到 S3 时如何修复“SignatureDoesNotMatch”错误
- java - 如何在像 FB Messenger 这样的 android 中“自动更改”状态栏文本颜色?
- c# - 如何修复 Vector2.Distance() 方法?
- javascript - 如何反转 d3 色带 d3-scale-chromatic d3.interpolateViridis
- redirect - Zentyal:将某些外部域的某些 DNS 条目覆盖为内部 ip