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