C# XPath查询适用于JS,但不适用于selenium

C# XPath查询适用于JS,但不适用于selenium,c#,selenium,firefox,xpath,C#,Selenium,Firefox,Xpath,我有一个XPath查询(见下文),它在Javascript上运行得很好,但是它挂起了,因为它还没有找到元素,所以它正在等待超时。我怎样才能解决这个问题 var span = driver.FindElement(By.XPath("//span[text() = \"What's your name?\"]/ancestor::div[@class=\"office-form-question-content office-form-theme-focus

我有一个XPath查询(见下文),它在Javascript上运行得很好,但是它挂起了,因为它还没有找到元素,所以它正在等待超时。我怎样才能解决这个问题

var span = driver.FindElement(By.XPath("//span[text() = \"What's your name?\"]/ancestor::div[@class=\"office-form-question-content office-form-theme-focus-border\"]//input[@class=\"office-form-question-textbox office-form-textfield-input form-control border-no-radius\"]"));
其中,驱动程序类型为。HTML的目标peice如下所示:

<div class="office-form-question-content office-form-theme-focus-border">
  <div aria-live="assertive" role="alert"></div>
  <div class="question-title-box">
    <div>
      <div aria-level="2" class="office-form-question-title" id="question1-title" role="heading"><span class="ordinal-number">1.</span><span>What's your name?</span><span class="required-star"></span>
        <div><span class="accessibility-reader-no-display" id="question1-required">Requer resposta</span></div>
        <div><span class="accessibility-reader-no-display" id="question1-questiontype">Texto de linha única</span></div>
      </div>
    </div>
  </div>
  <div class="office-form-question-element">
    <div class="student-feedback-view-short-text-field-with-correctness">
      <div>
        <div class="office-form-textfield"><input class="office-form-question-textbox office-form-textfield-input form-control border-no-radius" aria-labelledby="question1-title question1-required question1-questiontype" placeholder="Insira sua resposta" spellcheck="true" maxlength="4000"
            value=""></div>
      </div>
    </div>
  </div>
</div>

你叫什么名字?
再查询应答器
林哈尼卡文本

我使用您的xpath表达式和HTML片段成功运行了它

driver.get(“file:///C:/demo.html");
String xpath=“//span[text()=\”你叫什么名字?\”]/祖先::div[@class=\“办公表单问题内容办公表单主题焦点边框\”]//input[@class=\“办公表单问题文本框办公表单文本字段输入表单控件边框无半径\”];
WebElement e=driver.findElement(By.xpath(xpath));
e、 sendKeys(“权”);
我的环境:

Chrome 84.0.4147.125
ChromeDriver 84.0.4147.30

所以,“XPath查询不起作用”可能不是真正的原因。

这确实适用于小型本地HTML代码,但不适用于在线页面,在那里我复制了HTML的文字部分。在HTML页面上,它返回:
OpenQA.Selenium.NoSuchElementException:“找不到元素://span[text()=“你叫什么名字?”]/祖先::div[@class=“办公表单问题内容办公表单主题焦点边框”]//input[@class=“办公表单问题文本框办公表单文本字段输入表单控件边框无半径”]