找不到我的元素(硒初学者)

时间:2018-08-16 03:27:20

标签: java selenium nullpointerexception

新程序员在这里- 我正在尝试使用硒制作一个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>

1 个答案:

答案 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"));

让我知道这是否对您有用。