package com.yutou.qqbot.models.WebSign; import com.alibaba.fastjson.JSONArray; import com.yutou.qqbot.QQBotManager; import com.yutou.qqbot.models.Model; import com.yutou.qqbot.utlis.*; import org.openqa.selenium.By; import org.openqa.selenium.Cookie; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import java.io.File; import java.util.concurrent.TimeUnit; public class BaiHeHui extends Model { @Override public boolean isUserPublic() { return true; } @Override public String[] getUsePowers() { return new String[0]; } @Override public String getModelName() { return "百合会签到"; } @Override public void onTime(Long qq, String time) { super.onTime(qq, time); if ("08:10:00".equals(time)) { Log.i("开始百合会签到"); try { if (sign()) { QQBotManager.getInstance().sendMessage(QQBotManager.defGroup, "百合会签到成功"); }else{ QQBotManager.getInstance().sendMessage(QQBotManager.defGroup, "百合会签到失败"); } } catch (Exception e) { e.printStackTrace(); QQBotManager.getInstance().sendMessage(QQBotManager.defGroup, "百合会签到失败:" + AppTools.getExceptionString(e)); } } } public boolean sign() { String cookie = ConfigTools.readFile(new File("baihehui.json")); if (StringUtils.isEmpty(cookie)) { return false; } WebDriver driver = WebClient.getInstance().getWebDriver(); try { JSONArray array = JSONArray.parseArray(cookie); driver.manage().timeouts().implicitlyWait(10000, TimeUnit.SECONDS); driver.get("https://bbs.yamibo.com/forum.php"); driver.manage().deleteAllCookies(); for (Cookie _cookie : WebClient.loadCookie(array)) { driver.manage().addCookie(_cookie); } try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } driver.navigate().refresh(); for (WebElement element : driver.findElements(By.xpath("//a"))) { if ("打卡签到".equals(element.getText())) { element.click(); break; } } return true; } catch (Exception e) { e.printStackTrace(); return false; } finally { driver.close(); driver.quit(); } } public static void main(String[] args) { } }