java - 无法在 Selenium 的 textarea 中找到元素
问题描述
我有一个用于文本区域的 html 块,如下所示:
<div id="block-517e9e97-d25b-41b1-8108-463e0137df8c" class="wp-block block-editor-block-list__block has-selected-ui" data-block="517e9e97-d25b-41b1-8108-463e0137df8c" data-type="core/paragraph" tabindex="0" aria-label="Block: Paragraph" role="group" style="" xpath="1">
<p role="textbox" aria-multiline="true" aria-label="Empty block; start writing or type forward slash to choose a block" style="" class="rich-text block-editor-rich-text__editable wp-block-paragraph" contenteditable="true">
<span data-rich-text-placeholder="Start writing or type / to choose a block" contenteditable="false">
</span>
</p>
</div>
<p role="textbox" aria-multiline="true" aria-label="Empty block; start writing or type forward slash to choose a block" style="" class="rich-text block-editor-rich-text__editable wp-block-paragraph" xpath="1" contenteditable="true">
<span data-rich-text-placeholder="Start writing or type / to choose a block" contenteditable="false">
</span>
</p>
我试图通过使用 id、xpath、css 选择器来定位元素,但它们不起作用。我没有看到名称或标记名,那么我应该怎么做才能解决这个问题?
Java代码:
driver.findElement(By.xpath("//*[@id="block-517e9e97-d25b-41b1-8108-463e0137df8c"]")).sendKeys("This is text area");
解决方案
driver.findElement(By.id("block-517e9e97-d25b-41b1-8108-463e0137df8c")).sendKeys("text");
当您检查 Web 元素时,如果您已通过 id 识别元素,请首先使用该 id 并执行操作,因为 id 是唯一的,如果您没有 id,则只需转到 Xpath
推荐阅读
- haskell - 如何为类型为通用的数据字段生成隐藏实例
- reactjs - 我正在尝试调用第 3 方 api,但它给了我一个 CORS 错误
- javascript - 是否有可以匹配通配符并替换为字符串的函数 - javascript
- firebase - Firestore - 安全规则错误我无法弄清楚
- sql-server - SQL 以常规语法读取列
- python - 如果子字符串在字符串列表中,则返回字符串列表
- ios - 合并:将 Closure 转换为 Publisher
- unity3d - 如何在 Unity 中的静态图像上创建可滚动蒙版?
- javascript - 运行使用 chrome.runtime.getURL() 获取的 html 文件的脚本和 css
- ansible - Ansible Jinja2 模板仅替换配置文件的几行?(Jinja2 模板没有覆盖目标文件的全部内容)