Xpath to CSS conversion
Xpath to CSS conversion
我在将几个特定的xpath转换为css选择器时遇到问题。尝试了几次接近,但最终放弃了:/也许它特定于我的测试框架(量角器)或我做错了。
任何人都可以帮助转换下面的四个吗?
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]'))
有些东西仍然更容易通过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 插件可以警告您代码库中by.xpath()
使用情况。
相关文章:
- CSS-如何定位内容数据标题
- 窗口大小html css
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 动画.CSS重播
- 有没有一种方法可以防止img get请求使用css或js发生
- CSS表格:从列平移到整个表格宽度
- CKEditor-我在editor.css中的风格是't
- 单击更改图标并通过javascript添加一个css类
- 将CSS应用于printWindow.print();在Javascript中
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- css(或jQuery)悬停时淡入淡出
- 为什么不'在JQuery中找到第二个css选择器的工作
- 为什么 .focus() 不起作用,而 .css(“color”,“red”) 在同一个选择器上起作用
- 如何使用css动画/javascript使具有背景图像的元素出现
- 获取HTML属性中CSS声明的值
- 当我更改Joomla时,它仍然从旧域加载CSS和Javascript
- 如何使用css动画从中心增加边界线
- 谷歌图表-如何更改整个表的css属性
- Xpath to CSS conversion