здесь новый программист- Я пытаюсь создать бот cookieclicker, используя селен. Cookie clicker - это веб-игра, ссылка на которую указана ниже
http://orteil.dashnet.org/cookieclicker/
Я пытаюсь найти элемент, вот так
WebElement element = driver.findElement(By.id("upgrades"));
а затем я называю это здесь:
upgrades = element.findElements(By.className("enabled"));
Я хочу составить список «включенных» «апгрейдов». Однако я получаю исключение с нулевым указателем во втором фрагменте кода, но на веб-сайте явно есть элемент, называемый «обновления».
Спасибо за ваше время!
редактировать:
это блок кода из игры, который я пытаюсь щелкнуть
<div id = "upgrades" class = "storeSection upgradeBox"><div onclick = "Game.UpgradesById[0].click(event);" class = "crate upgrade enabled" onmouseout = "Game.setOnCrate(0);Game.tooltip.shouldHide=1;" onmouseover = "if (!Game.mouseDown) и я пытаюсь выудить эти "включенные" обновления
<div onclick = "Game.UpgradesById[0].click(event);" class = "crate upgrade enabled" onmouseout = "Game.setOnCrate(0);Game.tooltip.shouldHide=1;" onmouseover = "if (!Game.mouseDown) {Game.setOnCrate(this);Game.tooltip.dynamic=1;Game.tooltip.draw(this,function(){return Game.crate(Game.UpgradesById[0],'store',undefined,undefined,1)();},'store');Game.tooltip.wobble();}" id = "upgrade0" style = "background-position:0px 0px;"></div>Оцените, если вы поделитесь блоком HTML вместо LInk.
@IshitaShah Я отредактировал свой пост, ты это имеешь в виду?
Поделитесь своим первоначальным блоком кода пробной версии, откуда он получил исключение NullPointerException.
Проверить, есть ли на кадре или нет
Когда в вашей игре активированное обновление отображается пользователю? В начале пусто




Я только что проверил на сайте, ваш код требует модификации.
Используйте приведенный ниже код:
WebElement element = driver.findElement(By.id("upgrades"));
Actions acc=new Actions(driver);
acc.moveToElement(element).build().perform();
List<WebElement> upgrades = element.findElements(By.className("enabled"));
Сообщите мне, работает ли это для вас.
Я также пробовал использовать элемент @FindBy (id = "upgrade") WebElement;