为了账号安全,请及时绑定邮箱和手机立即绑定

如何查找元素 - SAP NetWeaver

如何查找元素 - SAP NetWeaver

C#
撒科打诨 2021-10-09 14:10:14
我正在使用 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']")));


查看完整回答
反对 回复 2021-10-09
  • 1 回答
  • 0 关注
  • 160 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信