|
@@ -0,0 +1,154 @@
|
|
|
+#import redis
|
|
|
+import time
|
|
|
+import traceback
|
|
|
+#import json
|
|
|
+from selenium import webdriver
|
|
|
+from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
|
|
|
+import time
|
|
|
+import os
|
|
|
+from selenium.webdriver.common.keys import Keys
|
|
|
+from selenium.webdriver.support.ui import WebDriverWait
|
|
|
+from selenium.webdriver.common.by import By
|
|
|
+from selenium.webdriver.support import expected_conditions as EC
|
|
|
+import dataset
|
|
|
+
|
|
|
+import json
|
|
|
+import random
|
|
|
+import time
|
|
|
+import sys
|
|
|
+import codecs
|
|
|
+import random
|
|
|
+import os
|
|
|
+import time
|
|
|
+from userAgentRandomizer import userAgents
|
|
|
+import pyautogui
|
|
|
+
|
|
|
+driver=None
|
|
|
+
|
|
|
+def re_get_webdriver():
|
|
|
+ global driver
|
|
|
+ result=[]
|
|
|
+ if driver is not None:
|
|
|
+ print('closing....')
|
|
|
+ driver.quit()
|
|
|
+ os.system('killall chrome')
|
|
|
+ print('quit....')
|
|
|
+ driver=None
|
|
|
+ try:
|
|
|
+ ua = userAgents()
|
|
|
+
|
|
|
+ user_agent = ua.random()
|
|
|
+
|
|
|
+ options = webdriver.ChromeOptions()
|
|
|
+
|
|
|
+
|
|
|
+ mobile_emulation = {
|
|
|
+ "deviceMetrics": { "width": 360, "height": 640, "pixelRatio": 3.0 },
|
|
|
+ "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" }
|
|
|
+# options.add_experimental_option("mobileEmulation", mobile_emulation)
|
|
|
+
|
|
|
+ options.add_argument("--no-sandbox")
|
|
|
+ options.add_argument("--disable-dev-shm-usage")
|
|
|
+# options.add_argument("--headless")
|
|
|
+
|
|
|
+# print(user_agent)
|
|
|
+# options.add_argument("--user-agent=" +user_agent)
|
|
|
+ options.add_argument("--incognito")
|
|
|
+ driver=None
|
|
|
+ try:
|
|
|
+ driver = webdriver.Chrome(options=options)
|
|
|
+ except:
|
|
|
+# driver.quit()
|
|
|
+# os.system('pkill -f ')
|
|
|
+ os.system('kill %d' % os.getpid())
|
|
|
+ sys.exit()
|
|
|
+ return
|
|
|
+ driver.set_window_size(1400,1000)
|
|
|
+ return
|
|
|
+ except:
|
|
|
+ import traceback
|
|
|
+ traceback.print_exc()
|
|
|
+ driver=None
|
|
|
+ return None
|
|
|
+
|
|
|
+def run_once(url):
|
|
|
+ global driver
|
|
|
+ i=random.randint(0,7)
|
|
|
+ if i==0 or driver is None:
|
|
|
+ time.sleep(8)
|
|
|
+ re_get_webdriver()
|
|
|
+ if driver is None:
|
|
|
+ return
|
|
|
+ try:
|
|
|
+ driver.get('https://meta.chuzmo.com/HxXfN9r/keelung-cityexpo')
|
|
|
+ time.sleep(12)
|
|
|
+ elmt=driver.find_element_by_xpath("//span[contains(text(),'Join Room')]/..")
|
|
|
+ webdriver.ActionChains(driver).move_to_element(elmt).perform()
|
|
|
+ webdriver.ActionChains(driver).move_to_element(elmt).click().perform()
|
|
|
+ time.sleep(5)
|
|
|
+ elmt=driver.find_element_by_xpath("//Button[contains(text(),'Accept')]")
|
|
|
+ webdriver.ActionChains(driver).move_to_element(elmt).perform()
|
|
|
+ webdriver.ActionChains(driver).move_to_element(elmt).click().perform()
|
|
|
+ time.sleep(5)
|
|
|
+ elmt=driver.find_element_by_xpath("//Button[contains(text(),'Enter Room')]")
|
|
|
+ webdriver.ActionChains(driver).move_to_element(elmt).perform()
|
|
|
+ webdriver.ActionChains(driver).move_to_element(elmt).click().perform()
|
|
|
+ time.sleep(10)
|
|
|
+
|
|
|
+ elmt=driver.find_element_by_xpath("//body")
|
|
|
+ print(elmt)
|
|
|
+ webdriver.ActionChains(driver).move_to_element(elmt).perform()
|
|
|
+ webdriver.ActionChains(driver).move_to_element(elmt).click().perform()
|
|
|
+
|
|
|
+ print('elmt found')
|
|
|
+ pyautogui.press('tab')
|
|
|
+ pyautogui.press('tab')
|
|
|
+ pyautogui.press('enter')
|
|
|
+ pyautogui.press('enter')
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ i=0
|
|
|
+ while True:
|
|
|
+ pyautogui.keyDown('w')
|
|
|
+ time.sleep(0.1)
|
|
|
+ pyautogui.keyUp('w')
|
|
|
+ pyautogui.keyDown('a')
|
|
|
+ time.sleep(0.1)
|
|
|
+ pyautogui.keyUp('a')
|
|
|
+ i+=1
|
|
|
+ i%=10
|
|
|
+ if i==0:
|
|
|
+ pyautogui.keyDown('q')
|
|
|
+ time.sleep(0.1)
|
|
|
+ pyautogui.keyUp('q')
|
|
|
+ pyautogui.keyDown('q')
|
|
|
+ time.sleep(0.1)
|
|
|
+ pyautogui.keyUp('q')
|
|
|
+
|
|
|
+# driver.quit()
|
|
|
+ print("DONE!!!!")
|
|
|
+# driver.execute_script('window.open("'+url+'","_blank");')
|
|
|
+# driver.execute_script("window.scrollTo(0, window.scrollY + 400)")
|
|
|
+# time.sleep(0.5)
|
|
|
+ except:
|
|
|
+ traceback.print_exc()
|
|
|
+ print('exception')
|
|
|
+# time.sleep(9999)
|
|
|
+
|
|
|
+
|
|
|
+lst=[]
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+#lst=['https://www.hhh.com.tw/columns/detail/3427/index.php']
|
|
|
+ #for i in range(20):
|
|
|
+while True:
|
|
|
+ l='https://cmm.ai/meta'
|
|
|
+ print(l)
|
|
|
+ try:
|
|
|
+ run_once(l)
|
|
|
+ time.sleep(2)
|
|
|
+ break
|
|
|
+ except:
|
|
|
+ traceback.print_exc()
|