2016-02-26 94 views
0

我有两个div。要求是我需要点击上传按钮。我需要通过检查Button文本上传来找到第一个div和第二个div的xpath,然后我需要点击它。那么如何找到div的xpath并点击它。是否还有一个CSSselector可用于相同的?Xpath和CSSselector用于具有相同html结构的两个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> 

<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> 
+0

对不起试试这个//我[包含(文本(),“上传”)] –

+0

@sameerjoshi这不会工作,因为“上传”正在

+0

@Melvin理查德在上述替换标记我与按钮,并尝试如果它不工作,然后尝试此按钮[@ type,'submit']。click();希望它能起作用 –

回答

0

你可以尝试以下XPath:

//div[./button/i[contains(text(), 'Upload')]] 

这个XPath将返回div元素。

编辑:要获得button元素

//button[./i[contains(text(), 'Upload')]] 
+0

你好杰森,这是行不通的。因为标签在上传之前已关闭。所以基本上上传是写在按钮标签下。 –

+0

@MelvinR​​ichard - 我明白你的观点。但我想问一个问题。你使用硒蹼驱动器还是SeleniumIDE? – JRodDynamite

0

我建议你安装的Firefox硒的IDE。它有内置的元素定位器,证明在像你这样的情况下很有用。

我试着渲染你在jsfiddle.net中提供的html代码,并设法使用硒ide来获取它们的xpath。你可以看到它here

相关问题