Demo.java 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. package com.lala.controller;
  2. import org.openqa.selenium.*;
  3. import org.openqa.selenium.chrome.ChromeDriver;
  4. import org.openqa.selenium.chrome.ChromeOptions;
  5. import org.openqa.selenium.logging.Logs;
  6. import java.io.File;
  7. import java.io.IOException;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10. import java.util.Set;
  11. import java.util.concurrent.ScheduledThreadPoolExecutor;
  12. import java.util.concurrent.ThreadFactory;
  13. import static sun.font.FontUtilities.isWindows;
  14. /**
  15. * @author yj
  16. * @date 2020/10/14 10:20 上午
  17. */
  18. public class Demo {
  19. // 1608171135013
  20. public static void main(String[] args) throws IOException, InterruptedException {
  21. // System.out.println(System.currentTimeMillis());
  22. // System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");
  23. // ChromeOptions chromeOptions = new ChromeOptions();
  24. // chromeOptions.setExperimentalOption("debuggerAddress","127.0.0.1:9222");
  25. // 1.创建webdriver驱动
  26. ProcessBuilder builder = new ProcessBuilder();
  27. String cmd = "sh -c \"/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome -remote-debugging-port=9222\"";
  28. if (isWindows) {
  29. builder.command("cmd.exe", "/c", "dir");
  30. } else {
  31. builder.command("sh", "-c", cmd);
  32. }
  33. builder.directory(new File(System.getProperty("user.home")));
  34. // String cmd = "sh -c \"/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome -remote-debugging-port=9222\"";
  35. String cmdarray[] = {"sh -c \"/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome -remote-debugging-port=9222\""};
  36. Process pro = builder.start();
  37. ChromeOptions options = new ChromeOptions();
  38. options.setExperimentalOption("debuggerAddress","127.0.0.1:9222");
  39. WebDriver driver = new ChromeDriver(options);
  40. driver.get("https://a.weixin.qq.com/client");
  41. int status = pro.waitFor();
  42. if (status != 0)
  43. {
  44. System.out.println("Failed to call shell's command ");
  45. }
  46. // JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
  47. // String token = (String) jsExecutor.executeScript("return sessionStorage.getItem('Token');");
  48. // System.out.println("token=" +token);
  49. //
  50. driver.findElement(By.xpath("/html/body/div[1]/div/span/div/main/div/div[2]/div[2]/div[2]/div[1]/div/div[2]/table/tbody/tr[1]/td/div/a")).click();
  51. // Set<String> winHandels = driver .getWindowHandles();
  52. // List<String> it = new ArrayList<>(winHandels);
  53. // driver.switchTo().window(it.get(1));
  54. // driver.findElement(By.xpath("/html/body/div[2]/div/div[2]/div[2]/div[2]/div[1]/div[2]/div[2]/div[4]/div[1]/div/div[2]/button/span")).click();
  55. // winHandels = driver.getWindowHandles();
  56. // it = new ArrayList<>(winHandels);
  57. // System.out.println(winHandels.toString());
  58. // System.out.println(it.toString());
  59. // driver.switchTo().window(it.get(2));
  60. // //
  61. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[6]/button/span")).click();
  62. // driver.quit();
  63. //
  64. //
  65. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[3]/div[3]/div[1]/div/button/span")).click();
  66. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[3]/div[3]/div[3]/ol/li[1]")).click();
  67. //
  68. //
  69. //
  70. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[3]/div[3]/div[1]/button/span")).click();
  71. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[3]/div[3]/div[3]/ol/li[1]")).click();
  72. //
  73. //
  74. //
  75. // //
  76. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[4]/div/div[2]/button[1]/span")).click();
  77. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[4]/div/div[3]/div[1]/div/div")).click();
  78. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[4]/div/div[3]/div[2]/div/div[1]")).click();
  79. //
  80. //
  81. //
  82. //
  83. //
  84. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[5]/div[2]/div[1]/div/input")).sendKeys("1000");
  85. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[6]/button/span")).click();
  86. //
  87. //
  88. //
  89. //
  90. //
  91. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[2]/div[1]/div/div[2]/div/div[1]/section[1]/div[2]/form/div[1]/div/div/label[1]/span[2]")).click();
  92. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[2]/div[1]/div/div[2]/div/div[1]/section[1]/div[2]/form/div[2]/div/div[1]/input")).sendKeys("2020-12-15");
  93. // //
  94. //
  95. //
  96. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[2]/div[1]/div/div[2]/div/div[1]/section[1]/div[2]/form/div[2]/div/div[2]/input")).sendKeys("2021-01-13");
  97. //
  98. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[2]/div[1]/div/div[2]/div/div[1]/section[1]/div[2]/form/div[3]/div/div/label[1]")).click();
  99. //
  100. //
  101. //
  102. //
  103. //
  104. //
  105. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[2]/div[1]/div/div[2]/div/div[1]/section[2]/form/div/div/div/button[2]/span")).click();
  106. //
  107. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[2]/div[1]/div/div[2]/div/div[1]/section[3]/div[2]/div[2]/div[2]/div[2]/div[1]/div/div/div/input")).sendKeys("北京");
  108. //
  109. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[2]/div[1]/div/div[2]/div/div[1]/section[1]/div[2]/form/div[3]/div/div/label[1]")).click();
  110. //
  111. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[2]/div[2]/div/div[1]/div[1]/div[2]/div/form/div[2]/div/div[1]/button")).click();
  112. //
  113. // ///html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[2]/div[2]/div/div[1]/div[1]/div[2]/div/form/div[5]/div[3]/div/button/span
  114. //
  115. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[2]/div[2]/div/div[1]/div[1]/div[2]/div/form/div[5]/div[3]/div/button/span")).click();
  116. //
  117. //
  118. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[2]/div[2]/div/div[1]/div[1]/div[2]/div/form/div[5]/div[3]/div/div")).sendKeys("");
  119. //
  120. // ///html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[2]
  121. //
  122. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[2]/label/i")).click();
  123. // driver.findElement(By.xpath("")).click();
  124. // driver.findElement(By.xpath("/html/body/div[2]/div/div/div[2]/div[1]/div/div[2]/main/div/div[3]/div/button[2]")).click();
  125. // driver.manage().window().maximize();
  126. // Set<String> windows = driver.getWindowHandles();
  127. //
  128. // for (String temhandle : driver.getWindowHandles()) {
  129. // if (!temhandle.equals(driver.getWindowHandle())){
  130. // driver.close();
  131. // driver.switchTo().window(temhandle);
  132. // }
  133. // }
  134. // windows.forEach(System.out::println);
  135. // driver.findElement(By.xpath("/html/body/div[2]/div/div[2]/div[2]/div[2]/div[1]/div[2]/div[2]/div[4]/div[1]/div/div[2]/button/span")).click();
  136. // 3.获取输入框,输入selenium
  137. // driver.findElement(By.id("kw")).sendKeys("selenium");
  138. // 4.获取“百度一下”按钮,进行搜索
  139. // driver.findElement(By.id("su")).click();
  140. // 5.退出浏览器
  141. // driver.quit();
  142. }
  143. }