具有相同html结构的两个div的Xpath和CSSselector
我有两个div。要求是我需要点击上传按钮。我需要通过检查按钮text Upload找到第一个div和第二个div的xpath,然后单击它。那么如何找到div的xpath并单击它。是否有同样的CSS选择器具有相同html结构的两个div的Xpath和CSSselector,xpath,selenium-webdriver,css-selectors,Xpath,Selenium Webdriver,Css Selectors,我有两个div。要求是我需要点击上传按钮。我需要通过检查按钮text Upload找到第一个div和第二个div的xpath,然后单击它。那么如何找到div的xpath并单击它。是否有同样的CSS选择器 <div class="col-sm-9 col-sm-offset-3 col-lg-10 col-lg-offset-2"> <button class="btn btn-primary" type="submit"> <i class="fa fa
<div class="col-sm-9 col-sm-offset-3 col-lg-10 col-lg-offset-2">
<button class="btn btn-primary" type="submit">
<i class="fa fa-upload"/>
Upload
</button>
<a href="SomeLinkHere">
<button class="btn" type="button">Cancel</button>
</a>
</div>
<div class="col-sm-9 col-sm-offset-3 col-lg-10 col-lg-offset-2">
<button class="btn btn-primary" type="submit">
<i class="fa fa-upload"/>
Upload
</button>
<a href="SomeLinkHere">
<button class="btn" type="button">Cancel</button>
</a>
</div>
上传
上传
您可以尝试以下XPath:
//div[./button/i[contains(text(), 'Upload')]]
此XPath将返回div
元素
编辑:获取按钮
元素
//button[./i[contains(text(), 'Upload')]]
我建议您为firefox安装selenium ide。它有内置的元素定位器,这证明在像您这样的情况下是有用的
我尝试呈现您在jsfiddle.net中提供的html代码,并使用selenium ide获得了它们的xpath。你可以看到它你好,杰森,这不起作用。因为标签在上传之前是关闭的。所以基本上上传是写在按钮标签下的。@MelvinRichard-我明白你的意思了。但我想问一个问题。您使用的是selenium webdriver还是SeleniumIDE?抱歉,请尝试此//i[contains(text(),'Upload')]@sameerjoshi此操作无效,因为“Upload”位于标记下,而不是在上面的@Melvin Richard下。请使用按钮替换标记i,如果不起作用,请尝试此//按钮[@type,'submit'。单击();希望它能起作用