有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

当页面上有多个相同类型的元素时,java会选择一个特定的元素

基本上我想做的是为Satoshi mines游戏制作一个简单的机器人。我已经把所有的功能都用上了,除了一个,炸弹探测

代码如下:

WebElement  bomb =      driver.findElement(By.className("game").cssSelector("li[class='tile pressed bomb reveal']"));

问题是,它可以找到早期游戏中的炸弹,因为该页面存储了所有以前的游戏。因此,即使当前游戏中没有炸弹,它也会在整个页面中搜索炸弹,并找到它们,因此它认为它仍在丢失。有什么想法吗?清除webelement缓存?我不知道如何让它只在当前游戏中寻找炸弹


共 (1) 个答案

  1. # 1 楼答案

    你需要找到当前游戏的DIV。从我所看到的,以前的游戏包含类faded

    当前游戏

    <div class="game practice_game" id="game_xxx" style="visibility: visible; display: block;">
    

    上一场比赛

    <div class="game practice_game faded" id="game_xxx" style="visibility: visible; display: block;">
    

    因此,您需要一个定位器来指定元素不应包含faded类,例如CSS选择器:

    div.game:not(.faded)
    

    从那里,您可以指定LI标记,这些标记包含您想要的任何内容