首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sendKeys在Selenium Webdriver中不起作用

sendKeys在Selenium Webdriver中不起作用
EN

Stack Overflow用户
提问于 2021-09-29 17:18:39
回答 1查看 163关注 0票数 0

在尝试将文本输入到表单中时,Webdriver出现问题。表单中有我无法摆脱的javascript验证。默认情况下,它会启用一条错误消息,只有在检测到有效输入时才会删除该消息(例如,如果您输入爱尔兰并按TAB或单击away)。

尝试使用selenium中的key.TAB,但不起作用。代码如下:

代码语言:javascript
复制
await driver.wait(until.elementLocated(By.className('combi-select__input')), 15000);
const sets = await driver.findElement(By.className('combi-select__input'));

await sets.sendKeys("IRELAND");

现在,当我检查html输出时,表单是空的,我仍然得到错误。我首先尝试了一下click()。

另一方面,这是可行的:

代码语言:javascript
复制
await driver.wait(until.elementLocated(By.className('combi-select__input')), 15000);
const sets = await driver.findElement(By.className('combi-select__input'));
    
await driver.executeScript("arguments[0].setAttribute('value','IRELAND');", sets);

这样做的问题是javascript验证仍然保留错误,因此表单无法提交。

如果有人能帮上忙,那就太棒了。

EN

回答 1

Stack Overflow用户

发布于 2021-09-29 18:27:38

尝试使用JavascriptExecutor

代码语言:javascript
复制
JavascriptExecutor jse = ((JavascriptExecutor)driver);          
WebElement email = driver.findElement(By.id("useremail"));

jse.executeScript("arguments[0].value='-----your input----';", email);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69380867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档