通过在Selenium中的jQuery中生成来获取元素
Get element by generate in jQuery in Selenium
我有一个文本框。它只接受数字输入。当输入字符串和sendKeys(Keys.TAB)
时,它会弹出一条错误消息。这个弹出窗口是jQuery用id="message_eff"
附加的,以前不存在。
我试过这个代码:
driver.findElement(By.xpath(".//*[@id='messagefor_eff']"));
并运行我的测试。我运行了10次测试,但有时会出错:
org.openqa.selenium.NoSuchElementException: Unable to locate element {"method":"xpath","selector":".//*[@id='messagefor_eff']"}
如何修复此错误并使此错误再次出现?
在定位动态生成的元素之前,尝试合并显式等待:
WebDriverWait wait = new WebDriverWait(driver, 2);
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(".//*[@id='messagefor_eff']")));
driver.findElement(By.xpath(".//*[@id='messagefor_eff']"));
在查找元素之前,您可能需要切换到警报:
wait.until(ExpectedConditions.alertIsPresent());
Alert alert = driver.switchTo().alert();
driver.findElement(By.xpath(".//*[@id='messagefor_eff']"));
请参阅:https://selenium.dev/documentation/en/webdriver/js_alerts_prompts_and_confirmations/
相关文章:
- 如何在jQuery中获取元素的形式
- 通过id和class属性获取元素
- Javascript:Can't使用getElementById获取元素
- 使用jquery.html()获取元素本身的html
- 如何从iframe内部获取元素
- Javascript函数获取元素内容
- 使用模板后,使用Angular获取元素属性值
- 获取元素类名的部分
- 从JSON.parse获取元素
- 获取元素内部的缩写
- 在不引用文档的情况下使用AngularJS获取元素
- 如何获取元素's的title属性
- 使用Javascript,获取元素的方法是什么,基于打开和关闭标记之间的文本
- Javascript获取元素背景图像,但消除了“;url()”;
- Javascript:按类获取元素,但跳过某个类
- 当display:none时,getElementById()无法获取元素
- 我的ID获取元素不起作用
- 如何获取元素:使用javascript和CORS悬停背景
- 能够获取元素长度,但不能获取内部 HTML
- 如何使用jQuery在模板kendo UI中获取元素类