C# XPath查询适用于JS,但不适用于selenium
我有一个XPath查询(见下文),它在Javascript上运行得很好,但是它挂起了,因为它还没有找到元素,所以它正在等待超时。我怎样才能解决这个问题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
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=“办公表单问题文本框办公表单文本字段输入表单控件边框无半径”]