gpt4 book ai didi

javascript - Xpath 到 CSS 转换

转载 作者:行者123 更新时间:2023-11-30 00:12:44 25 4
gpt4 key购买 nike

我在将一些特定的 xpath 转换为 css 选择器时遇到了问题。尝试了几种方法但最终放弃了:/也许它特定于我的测试框架( Protractor )或者我做错了。

有人可以帮忙转换以下四个吗?

findElement(by.xpath('//*[@id="availableDomains"]/li[1]'))

pageMain.prototype.newUser = function (userId) {
return element(by.xpath('//tbody//tr[td[contains(text(), "' + userId + '")]]'));
};

UsersPage.prototype.rowFor = function (user) {
return element(by.xpath('//tr[@data-user="' + user.id + '"]'));
};

findElement(by.xpath('//*[@class="table table-striped"]/tbody/tr[1]/td[5]'))

最佳答案

尽管有 recommendations,但有些东西通过 XPath 仍然更容易获得不要使用 XPath 定位技术。您仍然可以使用不同的定位机制以不同的方式解决此问题:

element(by.xpath('//*[@id="availableDomains"]/li[1]'))

将转换为以下 CSS 选择器:

$('#availableDomains li:first-child')

代替:

element(by.xpath('//tbody//tr[td[contains(text(), "' + userId + '")]]'))

by.cssContainingText可以使用:

element(by.cssContainingText("tbody tr td", userId));

这部分:

element(by.xpath('//tr[@data-user="' + user.id + '"]'));

可以转换为:

$('tr[data-user="' + user.id + '"]');

作为奖励,如果您想执行“永远不要使用 XPaths”规则,可以使用 eslint-plugin-protractor ESLint plugin这会警告您有关代码库中 by.xpath() 用法的信息。

关于javascript - Xpath 到 CSS 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35774638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com