javascript - 如何使用两个 Xpath 构造元素 - WebdriverIO
问题描述
我是 WebdriverIO 的新手,并试图通过组合两个 xpath 来定位一个元素,但不确定正确的语法或方法。假设我们在页面上有一个用户块列表,我想找到包含所有用户的整个块,我计划为此使用“$$”,这样我就可以选择我想要对哪个用户执行操作。那么该用户块中有多个操作选项,因此每个操作都有不同的路径。
例子:
var user = browser.$$('//*[@id="react-root-node"]/div/div[2]/div[3]/div[2]/div');
var userAction = browser.$('div[1]/div[2]/div[1]');
我可以使用哪种语法或方法将 xpath 的第二部分添加到第一个部分,并在最后有一个元素。
解决方案
您可以使用 and 的链$
,$$
例如:
var users = $$('//*[@id="react-root-node"]/div/div[2]/div[3]/div[2]/div');
// the 1st user in list
users[0].$('./div[1]/div[2]/div[1]')
// the 2st user in list
users[1].$('./div[1]/div[2]/div[1]')
更多细节可以从这里得到
推荐阅读
- python - 使用 matplotlib 仅显示两个图的一个图例
- python - 有没有一种方法可以使函数连续运行,直到用户告诉它停止?
- php - php包括不适用于我的任何一个代码
- python - 如何使用带有 selenium 和 python 的 xpath 为 tplink pharos cpe520 创建自动化登录?
- powershell - 包括来自动态位置的其他 PSake 文件
- django - 静态文件 Pythonanywhere
- angular - MSAL Angular - 通过 document.location.origin 的动态重定向 URL 配置不适用于 AOT
- php - Wordpress site experiencing "Catchable Fatal Error"
- c# - Bulk Upload in ElasticSearch using Nest library in C#
- sql - 如何使用 BETWEEN 和 OR 使用 SQL 案例表达式?