【发布时间】:2018-07-09 12:49:40
【问题描述】:
我正在尝试创建一个为我创建帐户的机器人,但我无法与需要发送我的凭据的元素交互。
我所知道的是,我尝试与之交互的元素是在单击另一个按钮后在 javascript 中生成的。我找到了多个答案,但都是用 Node.js 以外的其他语言编写的。
我正在尝试发送有关此元素的凭据:
<input type="text" name="pseudo" id="pseudo" placeholder="Mon pseudo légendaire" style="margin-bottom: 10px;" maxlength="10">
我试过用这个:
driver.findElement(By.xpath('//*[@id="pseudo"]')).sendKeys('CREDITENTIALS')
返回此错误:Webdrivererror: element is not visible。
HTML 元素代码如下所示:
<input type="text" name="pseudo" id="pseudo" placeholder="Mon pseudo légendaire" style="margin-bottom: 10px;" maxlength="10">
问题不在于我必须等到我试图与之交互的元素显示出来,因为它已经显示,问题是我想通过 xpath 单击与我的 findElement 匹配的第二个元素,因为我试图点击的内容在 html 代码中存在 2 次,只有第二个是可交互的。
更新(来自 cmets)
此元素在以下<div> 标签内:
<div id="modal_message_wrapper" class="block_scrollable_wrapper scrollbar-light yellow noise inscription">
【问题讨论】:
-
你有
waitForElementVisible命令吗? -
不,我没有
waitForElementVisible命令。 -
如果您有其他 selenium 脚本示例,它们应该可以正常工作。 Selenium 与语言无关,语法可能会略有变化,接口上的大写小写字母等,但基本原理应该有效
-
都说我们需要Minimal, Complete, and Verifiable example 来解决您的问题,否则我们只是在猜测
标签: javascript node.js selenium selenium-webdriver webdriverwait