您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使用onkeyup / onfocus javascript在文本字段中输入文本?

如何使用onkeyup / onfocus javascript在文本字段中输入文本?

经过一天的挖掘,我找到了答案。

要使用onfocusJavascript 在文本字段中输入文本,我需要click()使用文本字段webelement:

driver.findElement(By.id("my_budget")).click();

这有效-输入值后执行Javascript。

为了使输入文本和生成事件更容易一些,我创建了一个方法

调用此:

sendKeysWithEvent(driver, driver.findElement(By.id("my_budget")), "50000", "onfocus");

方法

public static void sendKeysWithEvent(WebDriver driver, WebElement element, String text, String event) throws Exception {
    element.sendKeys(text);
    switch(event) {
    case "keyup":
        new Actions(driver).keyDown(element, Keys.CONTROL).keyUp(element, Keys.CONTROL).perform();
        break;
    case "onblurJS":
        doJavascriptOnElement(driver, element, element.getAttribute("onblur"));
        break;
    case "onfocus":
        element.click();
        break;
    case "keyupJS": 
        doJavascriptOnElement(driver, element, element.getAttribute("onkeyup"));
        break;
    case "keyupTAB":
        element.sendKeys(Keys.TAB);
        break;
    }

}
public static void doJavascriptOnElement(WebDriver driver, WebElement element, String javascript) throws Exception {
    ApiHelper.doLog("Running Javascript: " + javascript);
    ((JavascriptExecutor) driver).executeScript(javascript, element);

}
javascript 2022/1/1 18:13:46 有638人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶