resetrouter.py 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. # coding=utf-8
  2. import time
  3. from selenium import webdriver
  4. from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
  5. import time
  6. import os
  7. import urllib.parse
  8. from selenium.webdriver.support.ui import WebDriverWait
  9. from selenium.webdriver.common.by import By
  10. from selenium.webdriver.chrome.service import Service
  11. from selenium.webdriver.support import expected_conditions as EC
  12. from selenium.webdriver.common.keys import Keys
  13. #import schedule
  14. import codecs
  15. import random
  16. import datetime
  17. import dataset
  18. import time
  19. import traceback
  20. import sys
  21. import random
  22. import socket
  23. import requests
  24. db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/seo?charset=utf8mb4')
  25. table=db['general_log']
  26. driver = None
  27. headers = {
  28. "Authorization": "Bearer " + "6SDULL1Ebklduc6TFxa97AFto5Sj21kyJ30CxiLiSoi",
  29. "Content-Type": "application/x-www-form-urlencoded"
  30. }
  31. def scrolling(driver,pgnum):
  32. ub = driver.find_element_by_css_selector('body')
  33. for i in range(pgnum):
  34. ub.send_keys(Keys.PAGE_DOWN)
  35. if pgnum>1:
  36. time.sleep(0.3)
  37. def rua():
  38. pool = [
  39. "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0",
  40. "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0",
  41. "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"
  42. "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36",
  43. "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36",
  44. "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36",
  45. "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 OPR/68.0.3618.125",
  46. ]
  47. return random.choice(pool)
  48. def send_msg(kw):
  49. hname=socket.gethostname()
  50. params = {"message": hname+": "+kw}
  51. r = requests.post("https://notify-api.line.me/api/notify",headers=headers, params=params)
  52. def empty_query(q):
  53. global driver
  54. googleurl='https://www.google.com/search?q='+urllib.parse.quote(q)
  55. driver.get(googleurl)
  56. time.sleep(3)
  57. def process_query(qs):
  58. global driver
  59. # googleurl = 'https://www.google.com/search?q={}&num={}&hl={}'.format(urllib.parse.quote(q), 100,'zh-TW')
  60. googleurl = 'http://192.168.0.1/index.html'
  61. print(googleurl)
  62. driver.get(googleurl)
  63. time.sleep(6)
  64. # time.sleep(9999)id="pc-login-password"
  65. try:
  66. elmt = driver.find_element(By.XPATH, "//a[@data-localize='menu.system']")
  67. webdriver.ActionChains(driver).move_to_element(elmt).perform()
  68. webdriver.ActionChains(driver).move_to_element(elmt).click().perform()
  69. time.sleep(5)
  70. elmt = driver.find_element(By.XPATH, "//a[@data-localize='system_popup.settings_profile_left_tab']")
  71. webdriver.ActionChains(driver).move_to_element(elmt).perform()
  72. webdriver.ActionChains(driver).move_to_element(elmt).click().perform()
  73. time.sleep(5)
  74. elmt = driver.find_element(By.XPATH, "//input[@data-localize='system_popup.reboot']")
  75. webdriver.ActionChains(driver).move_to_element(elmt).perform()
  76. webdriver.ActionChains(driver).move_to_element(elmt).click().perform()
  77. time.sleep(5)
  78. elmt = driver.find_element(By.XPATH, "//button[contains(text(),'確定')]")
  79. webdriver.ActionChains(driver).move_to_element(elmt).perform()
  80. webdriver.ActionChains(driver).move_to_element(elmt).click().perform()
  81. time.sleep(5)
  82. except:
  83. traceback.print_exc()
  84. driver.quit()
  85. sys.exit()
  86. return "ok"
  87. def run_once():
  88. global driver
  89. result=[]
  90. user_agent = rua()
  91. options = webdriver.ChromeOptions()
  92. options.add_argument('--headless')
  93. options.add_argument("--no-sandbox")
  94. options.add_argument("--disable-dev-shm-usage")
  95. options.add_argument("--incognito")
  96. print('before init')
  97. os.system('killall -9 chrome.exe')
  98. driver = webdriver.Chrome(options=options)
  99. print('after init')
  100. driver.delete_all_cookies()
  101. driver.set_window_size(1400,1000)
  102. # driver.set_window_size(900, 3000)
  103. print('到此')
  104. data=process_query('')
  105. if data is not None:
  106. time.sleep(3)
  107. driver.quit()
  108. # /mnt/c/Windows/System32/cmd.exe /C python c:/gitlab/test/reboot.py
  109. #schedule.every(21).minutes.do(run_once)
  110. while True:
  111. run_once()
  112. time.sleep(900)