3 回答

TA貢獻1853條經(jīng)驗 獲得超18個贊
所需的元素是動態(tài)元素,因此要調(diào)用sendKeys()
該元素,您必須引發(fā)WebDriverWait?,并且elementToBeClickable()
可以使用以下任一定位器策略:
cssSelector
:new?WebDriverWait(driver,?20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input.slds-input[id^='input-'][aria-describedby^='help-message-']"))).sendKeys("hjgfjg");
xpath
:new?WebDriverWait(driver,?20).until(ExpectedConditions.elementToBeClickable(By.xpath("http://input[@class='slds-input'?and?starts-with(@id,?'input-')][starts-with(@aria-describedby,?'help-message-')]"))).sendKeys("hjgfjg");

TA貢獻1829條經(jīng)驗 獲得超4個贊
嘗試使用Actions:
WebElement input = util.driver.findElement(By.xpath("//input[@id='input-1']"));
Actions action = new Actions(util.driver);
action.moveToElement(input).click().sendKeys("test").build().perform();
導(dǎo)入后:
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;

TA貢獻1934條經(jīng)驗 獲得超2個贊
也許您可以嘗試以下解決方法:
嘗試先單擊文本框,然后調(diào)用 sendKeys()。
當(dāng)輸入事件到達太快時,Angular 無法處理它們。作為解決方法,您需要發(fā)送單個字符,并且每個字符之間有較小的延遲。
Selenium sendKeys 不發(fā)送所有字符
您可以嘗試使用 Actions 類。
添加回答
舉報