在网页中,有25条消息可以具有不同的状态,如“打开”,“已分配”等。
如果消息处于打开状态,我想点击"分配"即时生成id的按钮。如何识别和在这种情况下如何点击
以下是页面中的一个按钮的代码
<a style="color:blue"
class="btn assign"
data-userchannel="tw_757840449054711808~28353935~1000"
data-elementid="tw_757840449054711808"
id="tw_757840449054711808"
title="Assign to user"
rel="act"
href="/work/assignWork?messageId=tw_757840449054711808~SOLR&dataSource=SOLR&profileId=2305&s360securetoken=mZ2GV6Tbfw7RubGR3Q05_dLM-XM"
data-tooltip="Assign to user">
</a>
静态元素是类,标题,工具提示。如何实现这种情况。
答案 0 :(得分:0)
如果我理解正确,您的问题是“分配”按钮位置不对吗?如果是这种情况,那么为什么不使用这样的XPath定位器:.//a[@title='Assign to user']
。你可以将它包装在WebDriverWait周围,等待元素出现。
答案 1 :(得分:0)
在所有讨论之后,如果您想选择第一个;
按钮,只需尝试使用assign
,它会先显示findElement
按钮: -
assign
现在正如您所说,driver.findElement(By.cssSelector("a.btn.assign")).click();
中的批量assign
和个人assign
页面中有两个功能,批量DOM
首先出现,所以它被选中但是您想要选择批量assign
之后的单个分配,然后您应该尝试使用assign
查找所有findElements
按钮,并使用以下索引选择其中任何一个: -
assign
或者您可以使用List<WebElement> elements = driver.findElements(By.cssSelector("a.btn.assign")).click();
if(elements.size() > 2) {
//Now here you can pass index to get individual assign button
elements.get(1).click(); //it will click second assign button and so on
}
找到第一个单独的xpath
按钮,如下所示: -
assign
希望它有所帮助.. :)