如何在Salesforce中与iFrame对接



目前正在使用LeanFT v12.54和Visual Studio 2012(使用C#(针对Salesforce开发自动化。使用Chrome版本80.0.3987.149(官方版本((64位(。在Windows 10。

我正在为Salesforce中的Contracts选项卡(特别是Contract Documents(构建一个应用程序模型,并注意到该部分的大部分内容都包含在iframe中,我可以使用xpath("//ARTICLE[normalize-space()='Contract Documents']//IFRAME")在开发控制台中识别该iframe。

在我的C#代码中,我实例化了Web.Frame()的一个新对象,然后使用上面的xpath调用Find(),但它返回false:

var frame = new Web.Frame();
string xpath = "//ARTICLE[normalize-space()='Contract Documents']//IFRAME";
if (frame.Find(xpath))
return true;
else
return false;

其他注意事项:如果我在此页面上使用LeanFT对象识别中心工具,它将无法穿透iFrame中的任何对象。我已经能够使用Chrome开发工具为iframe中的元素捕获xpath,但当我在控制台中运行它们时,它们不会返回任何匹配项,除非我首先在elements选项卡下展开iframe元素,然后我的xpath将返回匹配项。

因此,我不确定Find()调用失败的原因,我需要找到一种方法,使用xpath与iFrame中的元素进行一致的交互。

编辑:我尝试更改我的C#代码,以实例化一个类型为Web.WebElement而不是Web.Frame的新对象,并使用相同的xpath,它可以将其作为WebElement而不是Frame找到。

var frame = new Web.Frame();只是一个空的Frame,难怪frame.Find什么都不返回。

Frame的实例化需要附带帧描述,这是一个唯一的描述,只有这样你才能Find中的任何东西

相关内容

  • 没有找到相关文章

最新更新