Javascript 如果所有类都相同,如果只有文本不同,如何选择元素?
我想使网页自动化,首先,我想选择小部件卡并点击这张卡,如果每张卡的类相同,只有文本不同,我如何选择这张卡。 所以我想使用这个Javascript 如果所有类都相同,如果只有文本不同,如何选择元素?,javascript,xpath,automation,cucumber,webdriver-io,Javascript,Xpath,Automation,Cucumber,Webdriver Io,我想使网页自动化,首先,我想选择小部件卡并点击这张卡,如果每张卡的类相同,只有文本不同,我如何选择这张卡。 所以我想使用这个getWidgetButton(){return$('//h5[normalizespace(text())=“Widgets”]”; 但是当我运行这个when('user press on Widgets button',()=>{NavigationPage.getWidgetButton.click();}); 我收到错误消息 当用户按下窗口小部件按钮时,窗口小部件数
getWidgetButton(){return$('//h5[normalizespace(text())=“Widgets”]”;
但是当我运行这个when('user press on Widgets button',()=>{NavigationPage.getWidgetButton.click();});
我收到错误消息
如何选择我想要的元素?谢谢!有多种方法,一种方法是获取
HTML元素的innerText
,或者使用querySelector获取n子元素的按钮。您需要最大化浏览器窗口或使用选项以最大化大小启动浏览器。首先尝试等待:使用
您不需要滚动,WebDrivero可以单击屏幕上显示的元素,而无需执行滚动
WebdriverIO中的选择器非常简单。您可以在大多数时间使用css选择器,这就足够了。有两种方法可以选择您的元素:
如果要选择具有相同类名的多个元素,请在WebdriverIO中使用
使用$
它将返回一个元素数组。然后您可以通过索引号访问元素。要选择所有小部件的标题,请执行以下代码:get widgetHeaders(){return$('.card h5')}
您的小部件卡是第四个元素,这意味着它的索引是3。因此,您可以通过如下方式访问它,然后单击widgetHeaders[3]。单击();
。有关详细信息:
这就是使用内部文本查找单个元素的方法:get-getWidgetButton(){return$(“h5='Widgets']);
或首先查找包含“widget”的h5
:get-getWidgetButton(){return$(“h5*='Widgets']);
有关详细信息:
注意:作为QA,您的首要任务应该是发现缺陷。在您共享的网站中,页脚位置存在问题。页脚覆盖了正文,在底部覆盖了正文的60像素。QA必须报告此问题,并且必须由开发人员修复。我想最简单的修复方法是这样:。正文高度{min height:100%;padding bottom:70px;}
我这样做了,但没有帮助,页脚仍然覆盖小部件按钮,我如何向下滚动到小部件?@GintarsLazda尝试实现