Selenium webdriver 使用Selenium Webdriver(Java)时,输入字段中缺少第一个字母
我需要使用SeleniumWebDriver填写电话号码字段(带有占位符=“(uuu)-”)。我面临的问题是:司机做得很快,第一个数字在我40%的测试中丢失了。我的意思是号码是965-234-43,司机做的是652-34-43 我的代码是:Selenium webdriver 使用Selenium Webdriver(Java)时,输入字段中缺少第一个字母,selenium-webdriver,Selenium Webdriver,我需要使用SeleniumWebDriver填写电话号码字段(带有占位符=“(uuu)-”)。我面临的问题是:司机做得很快,第一个数字在我40%的测试中丢失了。我的意思是号码是965-234-43,司机做的是652-34-43 我的代码是: private void setBankPhone(String bankPhone) { driver.findElement(bankPhoneField).click(); driver.findElement(bankPhoneFie
private void setBankPhone(String bankPhone) {
driver.findElement(bankPhoneField).click();
driver.findElement(bankPhoneField).clear();
driver.findElement(bankPhoneField).sendKeys(Keys.HOME + bankPhone);
checkBankPhone(bankPhone);
}
private void checkBankPhone(String bankPhone){
WebElement phonElement = driver.findElement(bankPhoneField);
if (!phonElement.getAttribute("value").equals(bankPhone)) {
setBankPhone(bankPhone);
}
}
使用
driver.findElement(bankPhoneField).sendKeys(bankPhone)代码>根本无法填写该字段。虽然我觉得您的代码很好,但我认为这是延迟/同步问题
在输入文本之前,您是否可以尝试以下任何方法以确保元素准备就绪
1。等待JavaScript加载
WebDriverWait wait=newwebdriverwait(驱动程序,超时);
JavascriptExecutor js_Executor=(JavascriptExecutor)getDriver();
ExpectedCondition jsLoad=driver->js_Executor.executeScript(“return document.readyState”).toString().equals(“complete”);
ExpectedCondition jQueryLoad=driver->js_Executor.executeScript(“return jQuery.active”).toString().equals(“0”);
//等待加载JavaScript和jQuery。
等待.直到(jsLoad);
等到(jQueryLoad);
2。使用等待条件
WebDriverWait wait=newwebdriverwait(驱动程序,超时);
wait.until(ExpectedConditions.elementtobelickable(webElement));
虽然您的代码在我看来很好,但我认为这是一个延迟/同步问题
在输入文本之前,您是否可以尝试以下任何方法以确保元素准备就绪
1。等待JavaScript加载
WebDriverWait wait=newwebdriverwait(驱动程序,超时);
JavascriptExecutor js_Executor=(JavascriptExecutor)getDriver();
ExpectedCondition jsLoad=driver->js_Executor.executeScript(“return document.readyState”).toString().equals(“complete”);
ExpectedCondition jQueryLoad=driver->js_Executor.executeScript(“return jQuery.active”).toString().equals(“0”);
//等待加载JavaScript和jQuery。
等待.直到(jsLoad);
等到(jQueryLoad);
2。使用等待条件
WebDriverWait wait=newwebdriverwait(驱动程序,超时);
wait.until(ExpectedConditions.elementtobelickable(webElement));
谢谢你的想法,但它没有解决我的问题。谢谢你的想法,但它没有解决我的问题。