基本上我要做的是为游戏Satoshi地雷制作一个简单的机器人。我已经获得了所有功能,除了一个,这是炸弹探测。
这是代码:
WebElement bomb = driver.findElement(By.className("game").cssSelector("li[class='tile pressed bomb reveal']"));
问题在于它从早期游戏中找到了炸弹,因为该页面存储了之前的所有游戏。因此,即使当前游戏中没有炸弹,它也会在整个页面中搜索炸弹并找到炸弹,因此它认为它仍然在丢失。有任何想法吗?清除webelement缓存?我不确定如何让它只在当前的游戏中寻找炸弹。
答案 0 :(得分:0)
您需要找到当前游戏的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
标记。