所以情况就是我在一列中有一堆帖子,每条消息旁边都有一条消息和一条删除链接(消息和链接共享一个元素)。我希望能够将消息文本与预定文本进行匹配,然后让Selenium单击该帖子消息旁边的删除链接。这可能吗?
<ul class="announcements unread">
<li>
<div class="announcement-text">Test message
<a href="edit/231">Edit</a> <a href="delete/231">Delete</a>
</div>
</li>
<li>
<div class="announcement-text">Delete this message
<a href="edit/232">Edit</a> <a href="delete/232">Delete</a>
</div>
</li>
链接中编辑和删除背后的数字就像是该消息的ID
答案 0 :(得分:0)
听起来很可能。
您的帖子看起来像
<Element>
<Message> some message text </Message>
<DeleteLink/>
</Element>
因此,您只需循环遍历每个帖子,匹配消息文本,如果找到匹配项,则单击删除链接。
答案 1 :(得分:0)
正如位所说,你可以遍历每个帖子:
List<WebElement> list = driver.findElements(By.cssSelector(".element .message"));
for(int i = 0 ; i< list.size() ; i++){
String message = list.get(i).getText();
if(message.contains("whatever_you_want"){
// Here you click on the corresponding delete link
driver.findElements(By.cssSelector(".element .deleteLink")).get(i).click();
}
}
请注意,由于我不知道您的HTML是什么样的,因此我根据位回答
获取了css选择器的类名