【问题标题】:How to select this textarea?如何选择这个文本区域?
【发布时间】:2018-11-04 21:35:31
【问题描述】:

我需要使用 Selenium 将光标放在 textarea 元素中。该元素没有 ID。 我试过了:

eventDriver.findElement(By.cssSelector("textarea[class*=\"CodeMirror\"")).click();

它会抛出 NoSuchElementException

【问题讨论】:

    标签: selenium selenium-webdriver css-selectors


    【解决方案1】:

    textarea 没有@class - 它是祖先div 的属性。请尝试以下代码:

    eventDriver.findElement(By.cssSelector("div.CodeMirror textarea")).click();
    

    或使用 ExplicitWait:

    WebDriverWait wait = new WebDriverWait(eventDriver,10);
    
    wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("div.CodeMirror textarea"))).click();
    

    更新

    WebElement element = eventDriver.findElement(By.cssSelector("div.CodeMirror textarea"))
    JavascriptExecutor jse = ((JavascriptExecutor)eventDriver);
    jse.executeScript("arguments[0].click()", element);
    

    【讨论】:

    • 它抛出一个不同的异常:ElementNotInteractable。异常中的详细信息显示“元素
    • 需要点击还是输入字符串?
    • 是的,我两个都需要
    • 新异常:预期条件失败:等待元素可点击:By.cssSelector: div.CodeMirror textarea(以 500 MILLISECONDS 间隔尝试 10 秒)
    • 是否需要将 textarea 悬停以使其具有交互性?
    猜你喜欢
    • 1970-01-01
    • 2015-04-29
    • 2018-03-07
    • 1970-01-01
    • 2012-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    相关资源
    最近更新 更多