meta_move.py 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. #import redis
  2. import time
  3. import traceback
  4. #import json
  5. from selenium import webdriver
  6. from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
  7. import time
  8. import os
  9. from selenium.webdriver.common.keys import Keys
  10. from selenium.webdriver.support.ui import WebDriverWait
  11. from selenium.webdriver.common.by import By
  12. from selenium.webdriver.support import expected_conditions as EC
  13. import dataset
  14. import json
  15. import random
  16. import time
  17. import sys
  18. import codecs
  19. import random
  20. import os
  21. import time
  22. from userAgentRandomizer import userAgents
  23. import pyautogui
  24. driver=None
  25. def re_get_webdriver():
  26. global driver
  27. result=[]
  28. if driver is not None:
  29. print('closing....')
  30. driver.quit()
  31. os.system('killall chrome')
  32. print('quit....')
  33. driver=None
  34. try:
  35. ua = userAgents()
  36. user_agent = ua.random()
  37. options = webdriver.ChromeOptions()
  38. mobile_emulation = {
  39. "deviceMetrics": { "width": 360, "height": 640, "pixelRatio": 3.0 },
  40. "userAgent": "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19" }
  41. # options.add_experimental_option("mobileEmulation", mobile_emulation)
  42. options.add_argument("--no-sandbox")
  43. options.add_argument("--disable-dev-shm-usage")
  44. # options.add_argument("--headless")
  45. # print(user_agent)
  46. # options.add_argument("--user-agent=" +user_agent)
  47. options.add_argument("--incognito")
  48. driver=None
  49. try:
  50. driver = webdriver.Chrome(options=options)
  51. except:
  52. # driver.quit()
  53. # os.system('pkill -f ')
  54. os.system('kill %d' % os.getpid())
  55. sys.exit()
  56. return
  57. driver.set_window_size(1400,1000)
  58. return
  59. except:
  60. import traceback
  61. traceback.print_exc()
  62. driver=None
  63. return None
  64. def run_once(url):
  65. global driver
  66. i=random.randint(0,7)
  67. if i==0 or driver is None:
  68. time.sleep(8)
  69. re_get_webdriver()
  70. if driver is None:
  71. return
  72. try:
  73. driver.get('https://meta.chuzmo.com/HxXfN9r/keelung-cityexpo')
  74. time.sleep(12)
  75. elmt=driver.find_element_by_xpath("//span[contains(text(),'Join Room')]/..")
  76. webdriver.ActionChains(driver).move_to_element(elmt).perform()
  77. webdriver.ActionChains(driver).move_to_element(elmt).click().perform()
  78. time.sleep(5)
  79. elmt=driver.find_element_by_xpath("//Button[contains(text(),'Accept')]")
  80. webdriver.ActionChains(driver).move_to_element(elmt).perform()
  81. webdriver.ActionChains(driver).move_to_element(elmt).click().perform()
  82. time.sleep(5)
  83. elmt=driver.find_element_by_xpath("//Button[contains(text(),'Enter Room')]")
  84. webdriver.ActionChains(driver).move_to_element(elmt).perform()
  85. webdriver.ActionChains(driver).move_to_element(elmt).click().perform()
  86. time.sleep(10)
  87. elmt=driver.find_element_by_xpath("//body")
  88. print(elmt)
  89. webdriver.ActionChains(driver).move_to_element(elmt).perform()
  90. webdriver.ActionChains(driver).move_to_element(elmt).click().perform()
  91. print('elmt found')
  92. pyautogui.press('tab')
  93. pyautogui.press('tab')
  94. pyautogui.press('enter')
  95. pyautogui.press('enter')
  96. i=0
  97. while True:
  98. pyautogui.keyDown('w')
  99. time.sleep(0.1)
  100. pyautogui.keyUp('w')
  101. pyautogui.keyDown('a')
  102. time.sleep(0.1)
  103. pyautogui.keyUp('a')
  104. i+=1
  105. i%=10
  106. if i==0:
  107. pyautogui.keyDown('q')
  108. time.sleep(0.1)
  109. pyautogui.keyUp('q')
  110. pyautogui.keyDown('q')
  111. time.sleep(0.1)
  112. pyautogui.keyUp('q')
  113. # driver.quit()
  114. print("DONE!!!!")
  115. # driver.execute_script('window.open("'+url+'","_blank");')
  116. # driver.execute_script("window.scrollTo(0, window.scrollY + 400)")
  117. # time.sleep(0.5)
  118. except:
  119. traceback.print_exc()
  120. print('exception')
  121. # time.sleep(9999)
  122. lst=[]
  123. #lst=['https://www.hhh.com.tw/columns/detail/3427/index.php']
  124. #for i in range(20):
  125. while True:
  126. l='https://cmm.ai/meta'
  127. print(l)
  128. try:
  129. run_once(l)
  130. time.sleep(2)
  131. break
  132. except:
  133. traceback.print_exc()