如何在Java中检索Selenium WebElement的最小值?

时间:2016-12-29 15:44:19

标签: java selenium

我编写了一个简单的代码来刷新浏览器游戏网页,并使用selenium Web浏览器自动执行该页面上的任务。

我做了一个小循环:

while (true) {
        driver.findElement(By.linkText("Premium Exchange"));
        if (driver.findElement(By.id("premium_exchange_stock_wood") //<-- if the value of the wood stock is 64 or higher){
            driver.findElement(By.name("buy_wood")).clear();
            driver.findElement(By.name("buy_wood")).sendKeys("64"); //enter 64 in the 'buy box'
            Thread.sleep(1000);
            driver.findElement(By.xpath("//input[@value='Calculate best offer ']")).click(); //click calculate best offer
            Thread.sleep(1000);
            driver.findElement(By.xpath("//div[@id='premium_exchange']/div/div[2]/button")).click(); //click buy
            Thread.sleep(10000);


        }

页面如下所示: Link

通常&#39; Wood&#39;库存为0.当此库存达到至少64时,我希望我的代码执行if语句,并无限循环。我坚持让程序看到webelement的值为int ..我的意图是这样的:

如果wood_stock等于64或高于64,请购买木材,重复。

任何帮助将不胜感激!我对Selenium很新!

1 个答案:

答案 0 :(得分:0)

使用.getText()和parseInt函数

String strVal=driver.findElement(By.id("premium_exchange_stock_wood").getText();//gets the value as string
int intVal=Integer.parseInt(strVal);converts string to integer
if (intVal>=64){
  //Perform further actions
}

注意:如果.getText()不起作用,您可以使用.getAttribute(&#34; innerHTML&#34;)或.getAttribute(&#34; outerHTML&#34;)