我编写了一个简单的代码来刷新浏览器游戏网页,并使用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很新!
答案 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;)