如何解决Selenium C#使用XPath或CssSelector查找属性和CSS类
如何在Selenium C#中同时找到数据质量检查ID和CSS类?
尝试同时找到DataQAid属性,并查看其类ng-invalid((角材料文本框错误)
这是到目前为止的内容, 可以使用CssSelector或其他替代Xpath的方法打开
private By PhoneError => By.XPath("//*[@attr.data-qa='homephone']");
资源: Find element in Selenium using XPATH or CSS Selector
解决方法
有效的XPath可能是:
//div[starts-with(@class,'mat-form-field')]/input[contains(@data-qa,'homephone-update') and contains(@class,'ng-invalid')]
输出:1个节点。
<input _ngcontent-ng-cli-universal-cli matinput formcontrolname="homephoneNumber" placeholder="'HomePhone'" class="mat-input-element mat-form-field-autofill-control ng-tns-c64-42 ng-touched cdk-text-field-autofil)-monitored ng-dirty ng-invalid" maxlength="50" id="mat-input-26" data-placeholder="'Home Phone'" aria-invalid="true" aria-required="false" data-qa=" homephone-update">
,
您可以使用and
和contains
=>
private By PhoneError => By.XPath("//*[@attr.data-qa='homephone' and contains(@class,‘ng-invalid’)]");
,
我更喜欢使用CSS选择器,因为它比XPath具有更好的支持和速度。我已经使用您提供的HTML对以下内容进行了测试,并且可以正常工作。
position:absolute;
box-shadow: 3px 3px 3px 0px #b9b9b9;
border: 1px solid #c3c3c3;
padding:5px;
.custom-tooltip-title {
font-weight:bold;
}
.custom-tooltip-body {
margin-top:5px;
}
}
.ag-tooltip {
font-size: 13px;
box-shadow: 3px 3px 3px 0px #b9b9b9;
border: 1px solid #c3c3c3;
padding: 5px;
background:white;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。