新程序员在这里- 我正在尝试使用硒制作一个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>
答案 0 :(得分:1)
我刚刚在网站上检查过,您的代码需要修改。
使用以下代码:
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"));
让我知道这是否对您有用。