我正在使用 SAP NetWeaver(SAP WEB UI),发现使用 selenium 很难实现自动化。我可以说大量对象的 Id\Names 实际上正在从一个页面重新加载更改为另一个页面。所以我尝试使用_webDriver.FIndElement(By.Xpath(//*[contains(@id,'foo')])); 但是找不到该元素。虽然这(通过 XPath 查找元素)可以在一个对象上工作,但它不适用于另一个对象。非常令人沮丧。可能是我做错了什么,或者渲染的对象有问题。这是 HTML 对象的示例:<input id="grid#28.115#7,1#if" ct="I" lsdata="{0:'grid\x2328.115\x237,1\x23if',2:'100000008',4:10,8:true,9:true,13:'100\x25',14:'FORCEDLEFT',17:true,18:true,19:true,20:'0',25:true,41:false,44:{MaxInputLen:'10'}}" lsevents="{FieldHelpPress:[{ClientAction:'none'},{modalNo:'0',rgv:[{id:'28.115',submit:'X',type:'GuiGridView'}]}]}" type="text" maxlength="10" tabindex="-1" ti="-1" class="lsTblEdf3 lsTblEdf3NoEllipsis urBorderBox lsControl--explicitwidth lsField__input" readonly="true" value="100000008" autocomplete="off" autocorrect="off" name="grid#28.115#7,1#if" style="vertical-align:top;text-align:left;" title="">这就是我试图找到它的方式,但失败了: var element = wait.Until(x => x.FindElement(By.XPath("//input[contains(@id,'115#7,1')]")));
1 回答
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
您可以使用ExpectedConditions
. 请参阅下面的代码。
var elem = wait.Until(ExpectedConditions.ElementExists(By.CssSelector("input[id*='115#7,1']")));
- 1 回答
- 0 关注
- 160 浏览
添加回答
举报
0/150
提交
取消