Selenium XPath找不到元素
我创建的XPath:Selenium XPath找不到元素,selenium,xpath,Selenium,Xpath,我创建的XPath: //*[@id='stepcagats']/div[2]/div[3]/div[2]/ul/li[1]/span 使用这个xPath,我得到了一条消息:NoTouchElementException 下面是我的html代码: <div id="stepCongrats"> <div id="ancillary-congratulations"></div> <div id="elephant"></div> &l
//*[@id='stepcagats']/div[2]/div[3]/div[2]/ul/li[1]/span
使用这个xPath,我得到了一条消息:NoTouchElementException
下面是我的html代码:
<div id="stepCongrats">
<div id="ancillary-congratulations"></div>
<div id="elephant"></div>
<div class="sect">
<div class="s-header"></div>
<div class="s-nav"></div>
<div class="s-body">
<div class="s-policyholder"></div>
<div class="s-policyinfo">
<ul>
<li>
<h6>
Policy number
</h6>
<span>
247-000-001-13
</span>
-
保单号码
247-000-001-13
在XPath中,列表中的元素从1开始编号,而不是从0开始编号div[2]
是大象,而不是教派。只需增加索引:
.//*[@id='stepCongrats']/div[3]/div[3]/div[2]/ul/li[1]/span
在XPath中,列表中的元素从1开始编号,而不是从0开始编号
div[2]
是大象,而不是教派。只需增加索引:
.//*[@id='stepCongrats']/div[3]/div[3]/div[2]/ul/li[1]/span
或
或
//h6/span/
是XPath,或者您可以使用FireFox的FirePath插件获得完美的XPath//h6/span/
是XPath,或者您可以使用FireFox的FirePath插件获得完美的XPath如果您使用chrome,右键单击元素并选择“复制XPath”,然后将其粘贴到代码中。@marounnaroun当我复制xpath时,它给了我相同的://*[@id=“StepCongreats”]/div[2]/div[3]/div[2]/ul/li[1]/span,但当我运行脚本时,它说找不到元素。这看起来像是一个经典的Selenium计时问题。当您试图找到它时,元素可能还不存在。它可以异步创建。如果您正在使用chrome,请右键单击元素并选择“复制XPath”,然后将其粘贴到代码中。@MarounMaroun当我复制XPath时,它给了我相同的://*[@id=“stepcagrats”]/div[2]/div[3]/div[2]/ul/li[1]/span,但当我运行脚本时,它会说找不到元素。这看起来像是一个经典的Selenium计时问题。当您试图找到它时,元素可能还不存在。它可以异步创建。我已经将xpath更改为:./*[@id='stepcagats']/div[3]/div[4]/div[3]/ul/li[1]/span,但仍然得到相同的nosuche元素exception@user3464008:对不起,我没有检查其他索引。检查更新(已测试)。如果没有进行增量操作,我已将xpath更改为:./*[@id='stepcagats']/div[3]/div[4]/div[3]/ul/li[1]/span,但仍然得到相同的NoTouchElementexception@user3464008:对不起,我没有检查其他索引。检查更新(已测试)。
//dic[@class='s-policyinfo]/ul/li/span