【发布时间】:2019-12-04 02:23:58
【问题描述】:
Selenium 无法使用 Id 选择器和 XPath 选择器找到输入字段。
我试图搜索它是隐藏的div 还是body
webDriver.FindElement(By.XPath("//*[@id='64inputText']")).SendKeys(cnpj);
webDriver.FindElement(By.Id("64inputText")).SendKeys(cnpj);
这里是源代码:
<input id="64inputText" name="64inputText" type="text" class="form-control pd-input-size ng-valid-pattern ng-valid-minlength ng-valid-maxlength ng-valid-cpf ng-valid-cnpj ng-not-empty ng-dirty ng-valid-parse ng-valid ng-valid-required ng-touched" ng-model="ngModel" ng-required="ngRequired" ng-change="onChange($event)" ng-blur="onBlur($event)" ng-cut="naoPermitirCortar === true ? $event.preventDefault() : ngCut()" ng-copy="naoPermitirCopiar === true ? $event.preventDefault() : ngCopy()" ng-paste="naoPermitirColar === true ? $event.preventDefault() : ngPaste()" ng-disabled="ngDisabled" ng-readonly="ngReadonly" placeholder="" maxlength="500" minlength="" pd-maiusculo="::maiusculo" required="required" aria-invalid="false" style="">
【问题讨论】:
-
我在给定的网址中找不到您在帖子中提到的元素。我们必须导航到其他页面吗?
-
对不起,它是“CNPJ/CPF*”输入字段。
-
当我查看该页面时,它的 ID 为
61inputText。此外,页面的该部分需要相当长的时间来加载,比页面的其余部分要长得多。这可能是您的问题的一部分。 -
它是 iframe 的一部分,因此在与 iframe 中的元素交互之前,您应该切换到 iframe。
标签: c# html angular selenium selenium-webdriver