gpt4 book ai didi

javascript - Protractor - 当子元素也是页面中其他地方的主要元素时如何在元素内找到元素

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:59:06 26 4
gpt4 key购买 nike

<div class="base-view app-loaded" data-ng-class="cssClass.appState">
<div class="ng-scope" data-ng-view="">
<div class="ng-scope" data-ng-include="'partial/navigation/navigation.tpl.html'">
<div class="feedback-ball feedback-ball-show feedback-ball-big" data-ng-class="feedback.cls" data-ng-click="outside($event)" data-feedback-ball="">
<span class="close-button"></span>
<h2 class="ng-binding">Welcome to Garbo</h2>
<div class="ng-scope ng-binding" data-ng-bind-html="feedback.html" data-ng-if="feedback.html">
<p>Here you can play in style in a safe and secure environment.</p>
<p>
<a class="btn" href="/account">My Account</a>
<a class="btn" href="/deposit">Deposit</a>
</p>
</div>
</div>
</div>

我想在 data-ng-bind-html="feedback.html"中找到并单击/account 按钮,我可以找到 data-ng-bind-html="feedback.html"但找不到帐户按钮在里面。当我尝试查找帐户按钮时,它给我错误消息,该页面有多个帐户按钮,因此请更具体一些。

我尝试了 element.().element() 但它没有用,请帮助

最佳答案

问题是 webDriver 找到了不止一个匹配的元素。您有用于查找一个元素的元素,以及用于获取元素数组的 element.all,然后您可以使用 .get() 和元素的索引,或者 first() 或 last()。你可以做到,

element(by.css('[data-ng-bind-html="feedback.html"]')
.element(by.cssContainingText('.btn', 'My account'));

如果它不起作用那么你可能有不止一个,如果是这样,你可以使用,

element(by.css('[data-ng-bind-html="feedback.html"]')
.all(by.cssContainingText('.btn', 'My account')).first();

但是你的 HTML 中会有多个按钮,webDriver 只会有一个,另一件事是使用 count() 为您提供元素数组的长度,您可以知道您有多少。

关于javascript - Protractor - 当子元素也是页面中其他地方的主要元素时如何在元素内找到元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27422295/

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