亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

org.openqa.selenium.TimeoutException:

org.openqa.selenium.TimeoutException:

慕村225694 2022-08-03 16:26:24
我正在嘗試使用選項發送文本。這是我的類頁面對象中的方法案例:sendkeys()public void setEntityName() {    internalWait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id=\"entity_name\"]")));    entityName.clear();    entityName.sendKeys("TEST");}網頁: <input id="entity_name" name="entity_name" type="text" ng-model="entityData.name" ng-disabled="false" placeholder="Type Enity Name" data-maxlength="20" data-smart-validate-input="" data-required="" class="ng-pristine ng-invalid ng-invalid-required ng-valid-maxlength ng-touched">測試顯示錯誤org.openqa.selenium.TimeoutException: Expected condition failed: waiting for visibility of element located by By.xpath: //*[@id="entity_name"] 任何人都可以幫助我解決此錯誤。
查看完整描述

1 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

所需的元素是一個 Angular 元素,因此要調用而不是您必須誘導 WebDriverWait for 和 您可以使用以下任一解決方案:sendKeys()visibilityOfElementLocated()elementToBeClickable()


用:cssSelector


public void setEntityName() {

    WebElement entityName = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input.ng-pristine.ng-invalid.ng-invalid-required.ng-valid-maxlength.ng-touched#entity_name[ng-model='entityData.name']")));

    entityName.clear();

    entityName.sendKeys("TEST");

}

用:xpath


public void setEntityName() {

    WebElement entityName = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@class='ng-pristine ng-invalid ng-invalid-required ng-valid-maxlength ng-touched' and @id='entity_name'][@ng-model='entityData.name']")));

    entityName.clear();

    entityName.sendKeys("TEST");

}


查看完整回答
反對 回復 2022-08-03
  • 1 回答
  • 0 關注
  • 431 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號