From 9670e6863cabfa89a853531b6a785358f72b0ccf Mon Sep 17 00:00:00 2001 From: slhaf Date: Mon, 7 Apr 2025 13:19:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E2=80=9C=E6=99=BA?= =?UTF-8?q?=E6=85=A7=E6=A0=91=E2=80=9D=E5=B9=B3=E5=8F=B0=E4=B8=ADb?= =?UTF-8?q?=E7=AB=99=E7=BD=91=E9=A1=B5=E6=B5=8F=E8=A7=88=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?;=20=E8=B0=83=E6=95=B4=E4=BA=86=E5=AF=B9=E4=BA=8E`UnknownTaskPo?= =?UTF-8?q?intException`=E7=9A=84=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91;=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E8=A7=86=E9=A2=91=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=9A=84=E8=87=AA=E5=8A=A8=E5=8F=96=E6=B6=88=E6=9A=82=E5=81=9C?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/work/slhaf/task/ZhsTask.java | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/main/java/work/slhaf/task/ZhsTask.java b/src/main/java/work/slhaf/task/ZhsTask.java index d39614d..fdc6ee8 100644 --- a/src/main/java/work/slhaf/task/ZhsTask.java +++ b/src/main/java/work/slhaf/task/ZhsTask.java @@ -51,9 +51,9 @@ public class ZhsTask { log.info("处理第{}个任务点", count.get()); switch (v) { case "icon-box video" -> handleVideoTask(k); - case "icon-box baidu" -> handleWebTask(k); + case "icon-box baidu", "icon-box bzhan" -> handleWebTask(k); case "icon-box book", "icon-box other", "icon-box img" -> handleDocTask(k); - default -> throw new UnknownTaskPointException("未设置处理策略的任务点类型!"); + default -> throw new UnknownTaskPointException("未设置处理策略的任务点类型: " + v); } } driver.findElement(By.xpath("//img[@alt='back']")).click(); @@ -62,13 +62,17 @@ public class ZhsTask { log.info("任务完成!"); driver.quit(); break; - }catch (WebDriverException e) { + } catch (WebDriverException e) { log.error("\r\n---------------\r\n"); log.error(e.getLocalizedMessage()); log.error("\r\n---------------\r\n"); log.error("Something went wrong, will retry later.."); driver.get("https://onlineweb.zhihuishu.com/onlinestuh5"); Thread.sleep(5000); + } catch (UnknownTaskPointException e) { + log.error(e.getLocalizedMessage()); + driver.quit(); + break; } } } @@ -104,7 +108,8 @@ public class ZhsTask { //开启倍速 try { driver.findElement(By.xpath("//div[@class='speedTab speedTab15']")).click(); - }catch (Exception ignored) {} + } catch (Exception ignored) { + } String currentTime = "00:00:00"; String duration = "00:00:00"; while (true) { @@ -115,10 +120,15 @@ public class ZhsTask { try { currentTime = driver.findElement(By.xpath(".//span[@class='currentTime']")).getText(); duration = driver.findElement(By.xpath(".//span[@class='duration']")).getText(); - }catch (Exception ignored) {} + WebElement playButton = driver.findElement(By.xpath("//div[@id='playButton']")); + if (playButton.getDomAttribute("class").equals("playButton")) { + playButton.click(); + } + } catch (Exception ignored) { + } if (currentTime.equals("00:00:00")) { continue; - }else { + } else { log.info("{}/{}", currentTime, duration); } if (currentTime.equals(duration)) {