当前位置: 首页 > 知识库问答 >
问题:

NoSuchElementException-找不到元素

韦安怡
2023-03-14

我有一个输入框,就像我在这里用来输入我的问题,它的HTML是

<body id="tinymce" class="mce-content-body" contenteditable="true" onload="window.parent.tinymce.get('Description').fire('load');" spellcheck="false" style="padding-bottom: 50px; padding-left: 1px; padding-right: 1px; overflow-y: hidden;">
<p>
<br data-mce-bogus="1"/>
</p>
</body>

每次,我都会尝试输入一些文本

@FindBy(xpath="//body[@id='tinymce']") WebElement Category_Body;
Category_Body.sendKeys("Android Smart Phone - 16GB");

我明白错误了-

共有1个答案

於永寿
2023-03-14

如果您将nosuchelementexception作为您提供的异常,可能有以下原因:-

>

  • 可能是当您要查找元素时,它不会出现在DOM上,因此您应该实现WebDriverWait以等待元素的可见,如下所示:-

    WebDriverWait wait = new WebDriverWait(driver, 10);
    WebElement Category_Body = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("tinymce")));
     Category_Body.sendKeys("Android Smart Phone - 16GB");
    

    此元素可能在任何frameiframe中。如果是,则需要切换frameiframe才能找到以下元素:-

    WebDriverWait wait = new WebDriverWait(driver, 10);
    
    //Find frame or iframe and switch
    wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt("your frame id or name"));
    
    //Now find the element 
    WebElement Category_Body = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("tinymce")));
     Category_Body.sendKeys("Android Smart Phone - 16GB");
    
    //Once all your stuff done with this frame need to switch back to default
    driver.switchTo().defaultContent();
    

  •  类似资料:
    • 我正在尝试使用页面xpath查找并单击元素。当我单击特定元素并使用 firebug 检查它时,即使 firebug 能够同时找到相对路径和绝对路径,路径也从不起作用,并且似乎找不到? 这是火虫识别的相对路径

    • 我把我的文件保存在。java文件旁边。 运行: 名称:Koen 得分:44 线程“main”Java.util.nosuchelementException:未找到行 名称:Kevin 得分:55 在Java.util.scanner.nextline(Scanner.Java:1585) 在tetris.fileio.loadHighscores(fileio.Java:41) 在tetris.

    • 对不起,我的问题,但我是一个初学者。请你能支持与扫描仪相关的关心。 “背景”:我写了一些研究扫描仪的代码: 我有一个例外:找不到行。这就是我在输出中得到的结果: 任务:运行失败今天是哪一天?线程“main”java.util.NosuchelementException异常:在java.base/java.util.Scanner.NextLine(Scanner.java:1651)和demoo

    • 不是重温老话题,但我正在做一个课程的项目,我在一个特定的片段中反复遇到这个错误,在那里我有相同格式的各种其他代码,它们没有给我带来任何痛苦。 所以,如上所述,在那输入扫描仪之前,我对任何事情都没有遇到任何问题。但是在我提供该行的输入之前,Eclipse抛出了错误,全文如下: 在线程“main”java.util中输入cruise的出发港:Exception。NoSuchElementExcepti

    • 我已经写了下面的代码来选择单选按钮,它的工作很好,但今天它不工作了。请找到代码和相应的错误消息 代码1: 错误1:“线程”main“org.openqa.selenium.TimeoutException中出现异常:等待存在由:By.id:0_2485a_startdate定位的元素10秒后超时” 代码2: 错误2:“线程”main“org.openqa.selenium.TimeoutExcep

    • 任何提示都会很有帮助!