为了测试我的应用程序,我使用Selenium,JBehave和JUnit。要在页面中查找元素,请使用WebDriver。
我有网格布局,在网格的每个部分我都有按钮,我想单击按钮,如:
getDriver().findElement(By.className("v-button")).click();
但我想点击网格布局特定部分的按钮:
<div class="v-gridlayout-slot" style="left: 0px; top: 0px;">
<div class="v-verticallayout v-layout v-vertical v-widget">
<div class="v-slot">
<div class="v-slot v-slot-h2">
<div class="v-slot">
<div class="v-slot v-align-right v-align-bottom">
<div tabindex="0" role="button" class="v-button v-widget">
<div class="v-gridlayout-slot" style="left: 308px; top: 0px;">
我在页面中有类似的结构,我想从左上角点击按钮(使用style="left: 0px; top: 0px;"
)。
我怎样才能做到这一点?
答案 0 :(得分:2)
您最好让前端开发人员为您的按钮提供ID。然后按照“btn-top-left”等特定ID进行搜索,因为此元素在您的页面上将是唯一的。 按属性搜索元素是一种不好的做法,但如果没有其他选择,请尝试按属性进行搜索: getDriver()。findElement(By.xpath(“// div [contains(@ class,'v - ')and contains(@ style,'left:0px; top:0px;')]”))。click() ;
答案 1 :(得分:0)
您可以使用xpath搜索父div,其样式属性为'contains'“left:0px; top:0px;”。或者,获取所有带有“v-gridlayout-slot”类的div,然后通过字符串匹配检查它们的style属性,直到找到所需的元素。