【问题标题】:How to Locate a DYNAMIC Salesforce Lightning INPUT Element with XPATH using C# in Selenium WebDriver如何在 Selenium WebDriver 中使用 C# 使用 XPATH 定位 DYNAMIC Salesforce Lightning INPUT 元素
【发布时间】:2020-10-19 00:10:14
【问题描述】:

我需要了解如何在 Selenium WebDriver 中使用 C# 使用 XPATH 定位动态 Salesforce Lightning 输入元素。我只是无法让它工作。下面是我尝试过的代码,后面是 HTML 和完整的 XPATH。我收到一个 Bad Token Error 并且不知道这意味着什么。`谁能告诉我一个更好的方法,比如 Parent:Child 定位?这些闪电元素很难破解...提前致谢!

C# Selenium WebDriver 代码:

//CODE FAILS! //Enter File Number/SSN/TIN ID and Click Search 
**driver.FindElement(By.XPath("//input[starts-with(@id.'input-')]")).Click();

HTML:

<input name="Participant Id" class="slds-input" id="input-32" aria-describedby="help-message-32" required="" type="text" maxlength="9" pattern="([0-9]*)$" lightning-input_input="">

  <div class="slds-form-element__control slds-grow" lightning-input_input=""><input name="Participant Id" 
  class="slds-input" id="input-32" required="" type="text" maxlength="9" pattern="([0-9]*)$" lightning- 
  input_input=""></div>
  <input name="Participant Id" class="slds-input" id="input-32" required="" type="text" maxlength="9" 
  pattern="([0-9]*)$" lightning-input_input="">

完整的 XPATH: /html/body/div[4]/div[1]/div[2]/div[1]/div/div/div/div/div/div/div[2]/div/div[1]/div/div[1]/c-e-m-p-w-r_-participant-search/article/div[2]/lightning-input/div/input

错误

{"无法找到具有 xpath 表达式的元素 //input[starts-with(@id.'input-')] 因为以下错误:\nError: Bad token: 'input-'"}

【问题讨论】:

  • 我可以看到您曾尝试在原始帖子中提及 HTML,但我们无法看到 HTML 代码。我建议尝试使用代码 sn-p 发布 HTML 代码。它可以帮助在帖子中正确嵌入 HTML 代码,我们可以尝试检查并尝试以更好的方式理解问题。感谢您的理解。

标签: c# selenium-webdriver internet-explorer xpath salesforce-lightning


【解决方案1】:

试着放一个“.”在双斜杠之前,在“输入”标签名称之前,并在属性之前使用“@”:

driver.FindElement(By.XPath(".//input[starts-with(@id.'input-')]")).Click()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 2019-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多