我正在用HTML来测试AngularJS应用,该应用看起来像这样:
<div class="ng-scope" ng-repeat="something in section.questions">
...
</div>
<div class="ng-scope" ng-repeat="something in section.questions">
...
</div>
<div class="ng-scope" ng-repeat="something in section.questions">
<div ng-switch="something.visible">
<div id="Ins_Othersumarea" class="content-detail-wrap ng-scope ng-isolate-scope" ng-switch-when="true" highlight="something.code == global.highlightedQuestionCode" highlightedcode="global.highlightedQuestionCode" ng-dblclick="logObject(something)">
<div ng-class="{divider: showDivider(section, $index)}">
<div ng-switch="something.type" class="content-detail-section">
<div class="ng-scope" ng-switch-when="TRIGGER_YES">
<ng-include class="ng-scope" src="getFragment('yes-no-fragment.html')" ng-if="!global.interview.isGroup" ng-init="baseQuestion = something">
<div class="row ng-scope">
<div class="col-sm-6" ng-switch="baseQuestion.answerValue == undefined && !global.readonly">
<div class="content-detail-right ng-scope" ng-switch-when="true">
<div class="row">
<div class="col-xs-6">
<button type="button" id="yes_Ins_Other sum area" class="btn-base-question-triggers ng-binding" ng-click="answerbaseQuestion(baseQuestion, true)" tabindex="1" setfocus="Ins_Other sum area">Yes</button>
</div>
<div class="col-xs-6">
<button type="button" id="no_Ins_Other sum area" class="btn-base-question-triggers ng-binding" ng-click="answerbaseQuestion(baseQuestion, false)" tabindex="1">No </button>
</div>
</div>
</div>
</div>
</div>
...
我正在尝试根据中继器Div文本内容查找嵌套的Yes / No按钮。
我可以通过以下方式找到正确的ng-repeat元素:
var repeatElement = NgDriver.FindElements(NgBy.Repeater("something in section.questions")).First(x => x.Text.Contains("Some Text"));
但是,我无法找到一种方法来抓住适当的“是/否”按钮。
我试过了 -
repeatElement.FindElement(By.XPath("//button[contains(.,'Yes')]"))
但这会返回页面上的第一个“是”按钮(而不是像我期望的那样在ng-rep Div内)。
repeatElement.FindElement(By.XPath("//button[contains(.,'Yes')]"))
这几乎是正确的,只不过XPath表达式必须以点开头才是上下文/repeatElement
特定的:
repeatElement.FindElement(By.XPath(".//button[contains(.,'Yes')]"))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句