【问题标题】:Using Selenium with Java on Salesforce Lightning / Javascript problems在 Salesforce Lightning / Javascript 问题上使用 Selenium 和 Java
【发布时间】:2021-04-27 16:59:39
【问题描述】:

我们在 Sales Force 非 Lightning 上运行了 Selenium 测试。现在我正在转换为闪电。有一连串的菜单要经过。我已经成功导航到某个菜单,但现在我遇到了问题。这不是关于新元素名称的标准问题。这是问题。这是页面外观的一小部分(见下文)。

在 Chrome 中使用检查时,我可以找到元素。这就是它的样子(对应上面的一个小横截面)。 SPAN 标签有标签(“原始协议”),它下面的 DIV 将包含输入值的框。

<div class="slds-form-element__control" data-aura-rendered-by="228:1224;a">
 <div data-aura-rendered-by="1108:0" class="uiInput forceSearchInputLookupDesktop uiInput--default" data-aura-class="uiInput forceSearchInputLookupDesktop uiInput--default">
  <label class="label inputLabel uiLabel-left form-element__label uiLabel" for="157:1224;a" data-aura-rendered-by="1103:0" data-aura-class="uiLabel">
   <span class="" data-aura-rendered-by="1104:0">Original Agreement</span>
   <!--render facet: 1106:0--><!--render facet: 1107:0--></label>
   <div data-aura-rendered-by="161:1224;a"><div class="contentWrapper slds-box--border" data-aura-rendered-by="162:1224;a">

但是,Selenium 找不到元素(尽管 inspect 可以)。当我执行“查看页面源而不是 检查,几乎整个事情都是这样在 JavaScript 中的:

function rewriteAndInjectCss(linkEl, source, varLookup) {
    var css = rewriteCssVars(source, varLookup);
    injectStyles(linkEl, css);
}

还有更多。几乎所有功能,可能只有几个元素。

过去,当我看到类似的东西时,通常会切换到 iframe 来获取元素。但是没有 iframe 可以切换。所以我被困住了如何得到这些。有人能解释一下吗?

【问题讨论】:

  • 一旦专注于输入右击并选择“检查元素”。
  • 这不会帮助 Selenium 找到元素。
  • 它会为您提供您需要定位的输入标签...点击/关注 div (contentWrapper)
  • 好的。找到了。我需要做一个 driver.switchTo().defaultContent()

标签: selenium salesforce-lightning


【解决方案1】:

好的。找到了。我需要做一个 driver.switchTo().defaultContent()

【讨论】:

    猜你喜欢
    • 2019-10-10
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 2018-12-11
    • 1970-01-01
    • 2020-12-04
    • 1970-01-01
    相关资源
    最近更新 更多