Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Selenium测试-从页面收集信息并在表中插入/更新_Java_Mysql_Selenium - Fatal编程技术网

Java Selenium测试-从页面收集信息并在表中插入/更新

Java Selenium测试-从页面收集信息并在表中插入/更新,java,mysql,selenium,Java,Mysql,Selenium,我正在构建一个机器人/脚本(但实际上它将是一个selenium测试)用于学习目的。 我希望它从页面收集一些信息,插入/更新到表中/与现有表进行比较,如果不同,则更新/插入 我已经确定了我希望在页面上使用的元素,我已经完成了与数据库的连接,并设法进行了选择*,但我不能 设法进行插入或更新 所以主要的想法是: 我希望收集资源级别并存储它们 挖掘并储存它们 完成后,我将提出一些条件,但首先我希望完成db,这是我目前无法管理的部分,无论我如何尝试 public class dbCon { public

我正在构建一个机器人/脚本(但实际上它将是一个selenium测试)用于学习目的。 我希望它从页面收集一些信息,插入/更新到表中/与现有表进行比较,如果不同,则更新/插入

我已经确定了我希望在页面上使用的元素,我已经完成了与数据库的连接,并设法进行了选择*,但我不能 设法进行插入或更新

所以主要的想法是:
我希望收集资源级别并存储它们
挖掘并储存它们

完成后,我将提出一些条件,但首先我希望完成db,这是我目前无法管理的部分,无论我如何尝试

public class dbCon {
public static void main(String[] args)
  { 
    try
    {       
      String myDriver = "org.gjt.mm.mysql.Driver";
      String myUrl = "jdbc:mysql://localhost:3306/ogame";
      Class.forName(myDriver);
      Connection conn = DriverManager.getConnection(myUrl, user,pass);
      Statement stmt = null;
      String query = "SELECT * FROM resources";
      String query2 = "SELECT * FROM mines_levels";

      Statement st = conn.createStatement();
      Statement st2 = conn.createStatement();

      ResultSet res1 = st.executeQuery(query);
      ResultSet res2 = st2.executeQuery(query2);

       while (res1.next()&&res2.next())
      {
        String id = res1.getString("id_ressources");
        String metal= res1.getString("Metal");
        String crystal= res1.getString("Crystal");
        String id2 = res2.getString("id_mines");
        String metal2= res2.getString("Metal_mine");
        String crystal2= res2.getString("Crystal_mine");
        System.out.format("%s, %s, %s\n",id2,metal2,
        System.out.format("%s, %s, %s\n",id,metal,crystal);
        System.out.format("%s, %s, %s\n",id,metal,crystal);
      }

      st.close();
      stmt.close();
    }

    catch (Exception e)
    {
      System.err.println("Got an exception! ");
      System.err.println(e.getMessage());
    }
  }
}
我希望使用两个类:

public class MinesLevelsRequirements extends PageObject{
@FindBy(css=".supply1")
private WebElementFacade MetalMine;

@FindBy(css=".supply2")
private WebElementFacade CrystalMine;

@FindBy(css=".supply3")
private WebElementFacade DeuteriumMine;

@FindBy(css=".supply4")
private WebElementFacade EnergyMine;

@FindBy(css=".tooltip js_hideTipOnMobile help overlay")
private WebElementFacade MinesReqTo;

@FindBy(css="detailTableRow currentlevel")
private WebElementFacade MinesReq;

public void MetalMine() {
    MetalMine.click();          
            }

public void CrystalMine() {
    CrystalMine.click();            
            }

public void DeuteriumMine() {
    DeuteriumMine.click();          
            }

public void EnergyMine() {
    CrystalMine.click();            
            }

public void MinesReqTo(){
    MinesReqTo.click();
}

public void MinesReq(){

}
第二条:

public class MinesLevels extends PageObject {

@FindBy(css="#buttonz>#building>.button1>.supply1>.buildingimg>.detail_button tooltip js_hideTipOnMobile slideIn>span>span>text()")
private WebElementFacade MetalMineLevel;

@FindBy(css="#buttonz>#building>.button2>.supply2>.buildingimg>.detail_button tooltip js_hideTipOnMobile slideIn>span>span>text()")
private WebElementFacade CrystalMineLevel;

@FindBy(css="#buttonz>#building>.button3>.supply3>.buildingimg>.detail_button tooltip js_hideTipOnMobile slideIn>span>span>text()")
private WebElementFacade DeuteriumMineLevel;

@FindBy(css="#buttonz>#building>.button4>.supply4>.buildingimg>.detail_button tooltip js_hideTipOnMobile slideIn>span>span>text()")
private WebElementFacade EnergyMineLevel;

public Integer MetalMineLevel() {
    return Integer.parseInt(MetalMineLevel.getText());
}

public Integer CrystalMineLevel() {
    return Integer.parseInt(CrystalMineLevel.getText());
}

public Integer DeuteriumMineLevel() {
    return Integer.parseInt(DeuteriumMineLevel.getText());
}

public Integer EnergyMineLevel() {
    return Integer.parseInt(EnergyMineLevel.getText());
}
}


感谢任何能帮我一点忙的人

欢迎来到SO。你应该在完成后问自己的问题:编辑并删除未完成的内容,因为我需要更多的时间来完成。谢谢:)