大佬教程收集整理的这篇文章主要介绍了无法使用硒选择字段,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 c# 和 SELEnium 在网页上进行测试。 问题是我有 3 个不同的选择字段。 附一张照片。
第一个始终处于启用状态,第二个始终处于禁用状态,直到在第一个中选择了语音,第三个也是如此,当在第二个中选择了语音时,它变得可选。
我用来填充字段的代码是:
SELEctElement selAppl = new SELEctElement(driver.FindElement(By.ID("IDApplicazione")));
selAppl.SELEctByValue(dataApp.ToString());
wait.Until(ExpectedConditions.StalenessOf(driver.FindElement((By.ID("IDDDLAmbito")))));
SELEctElement selAmbito = new SELEctElement(driver.FindElement(By.ID("IDDDLAmbito")));
selAmbito.SELEctByValue(ambito);
wait.Until(ExpectedConditions.StalenessOf(driver.FindElement((By.ID("ddlFunzionalita")))));
SELEctElement selFunzionalita = new SELEctElement(driver.FindElement(By.ID("ddlFunzionalita")));
selFunzionalità.SELEctByValue(funzionalita);
问题是前两个字段被正确选择,但第三个desn没有选择任何内容并且测试失败并显示该消息:
OpenQA.SELEnium.StaleElementReferenceException : stale element reference: element is not attached to the page document (Session info: Chrome=89.0.4389.114)
如果我让线程休眠而不是:
wait.Until(ExpectedConditions.StalenessOf(driver.FindElement((By.ID("ddlFunzionalita")))));
SELEctElement selFunzionalità = new SELEctElement(driver.FindElement(By.ID("ddlFunzionalita")));
它有效。该错误报告在对应于以下内容的代码行上:
SELEctElement selFunzionalità = new SELEctElement(driver.FindElement(By.ID("ddlFunzionalita")));
那么我要问自己的是,我之前已经用条件捕获了该元素的 dom 变体,为什么找不到它? 我做错了什么?
如果您收到 'StaleElementReferenceException',则表示该元素已更改,因为 DOM 已更改。 您需要在点击第一个和第二个元素后再次找到第三个元素。
点击下拉菜单(或其他元素)后,网页可能会发生变化。其他 div 或 span 将添加到您已找到的同一元素的页面或属性中。
以上是大佬教程为你收集整理的无法使用硒选择字段全部内容,希望文章能够帮你解决无法使用硒选择字段所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。