| 
					
				 | 
			
			
				@@ -0,0 +1,288 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#!/usr/bin/env python 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# -*- encoding: utf-8 -*- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Contact :   liuyuqi.gov@msn.cn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Time    :   2022/11/26 22:54:35 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@License :   Copyright © 2017-2022 liuyuqi. All Rights Reserved. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Desc    :    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import argparse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import json,os,re,logging 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from time import sleep, time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import random 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from twitter_account_creator.models.phone import Phone 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from twitter_account_creator.utils.chrome import Chrome 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from twitter_account_creator.utils.edge import Edge 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from twitter_account_creator.utils.firefox import Firefox 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from selenium.webdriver.common.by import By as by 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import requests 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from twitter_account_creator.models import api 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from selenium import webdriver 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from selenium.webdriver.common.keys import Keys 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class Twitter(object): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def __init__(self,proxy=None): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.parser = None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.sess=requests.Session() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.sess.proxies={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "127.0.0.1:1080" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.driver=None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def signup(self, apkKey :str, url, text, proxy=None): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        '''注册''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.driver.get(api.signup) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        time.sleep(5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # 点击注册按钮 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_element(by.XPATH, "//span[contains(text(), 'Sign up with phone or email')]").click(); time.sleep(10) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # 获取手机号码,填入手机号码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # driver.find_element(by.XPATH, "//span[contains(text(), 'Use email instead')]").click(); time.sleep(1.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _email = self.driver.find_element(by.XPATH, "//input[@name='phone_number']") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pv = Phone() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            number, _id = pv.getNumber() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            number = f"+34{number}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            time.sleep(3.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # driver.switch_to.window(driver.window_handles[0]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _email.click(); _email.send_keys(f"{number}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # 输入用户名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            name = self.getRandomName() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _name = self.driver.find_element(by.XPATH, "//input[@name='name']") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _name.click(); _name.send_keys(name); time.sleep(1.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_element(by.XPATH, "//select[@id='SELECTOR_1']/option[@value='1']").click(); time.sleep(0.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_element(by.XPATH, "//select[@id='SELECTOR_2']/option[@value='1']").click(); time.sleep(0.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_element(by.XPATH, "//select[@id='SELECTOR_3']/option[@value='1987']").click(); time.sleep(0.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_element(by.XPATH, "//span[contains(text(), 'Next')]").click(); time.sleep(5.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_element(by.XPATH, "//span[contains(text(), 'Next')]").click(); time.sleep(5.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_element(by.XPATH, "//span[contains(text(), 'Sign up')]").click(); time.sleep(5.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_element(by.XPATH, "//span[contains(text(), 'OK')]").click(); time.sleep(5.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        time.sleep(105) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ver =self.driver.find_element(by.XPATH, "//input[@name='verfication_code']") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # driver.switch_to.window(driver.window_handles[1]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # ver_code = get_code(driver, email) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            check=True 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            while check: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                # text_res = get_sms(_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ver_code = pv.get_sms(_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if ver_code != "" and ver_code != None: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    check =False 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                time.sleep(5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            time.sleep(3.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # driver.switch_to.window(driver.window_handles[0]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ver.click(); ver.send_keys(ver_code) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            time.sleep(1.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_element(by.XPATH, "//span[contains(text(), 'Next')]").click(); time.sleep(5.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_element(by.XPATH, "//span[contains(text(), 'Next')]").click(); time.sleep(5.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # time.sleep(60*24) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # 输入密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            password = self.driver.find_element(by.XPATH, "//input[@name='password']"); password.click(); password.send_keys("Vojko123") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            time.sleep(5.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_element(by.XPATH, "//span[contains(text(), 'Next')]").click(); time.sleep(5.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # time.sleep(60*24) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # check_phone_verification(driver, api_key) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if not os.path.exists("data/accounts"): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            os.makedirs("data/accounts") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_element(by.XPATH, "//span[contains(text(), 'Accept all cookies')]").click(); time.sleep(5.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            img_name = random.randint(1000, 9999) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            open(f"data/{img_name}.jpg", "wb").write(requests.get("https://thispersondoesnotexist.com/image").content) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # img_info = random.choice(list(filter(None, open("infos.txt", "r").read().split("\n")))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # img_name = img_info.split("\t")[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # bio = img_info.split("\t")[1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            time.sleep(3.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                self.driver.find_elements(by.XPATH, "//input[@data-testid='fileInput']")[1].send_keys(os.path.abspath(f"data/{img_name}.jpg")) # f"data/{img_name}.jpg" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            except: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    self.driver.find_element(by.XPATH, "//input[@data-testid='fileInput']").send_keys(os.path.abspath(f"data/{img_name}.jpg")) # f"data/{img_name}.jpg" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                except: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            time.sleep(1.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_element(by.XPATH, "//span[contains(text(), 'Apply')]").click(); time.sleep(1.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_element(by.XPATH, "//span[contains(text(), 'Next')]").click(); time.sleep(5.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            os.remove(f"data/{img_name}.jpg") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # os.remove(f"data/{img_name}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # print(e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #     txt_area = driver.find_element(by.XPATH, '//textarea[@data-testid="ocfEnterTextTextInput"]') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #     txt_area.click(); txt_area.send_keys(bio); time.sleep(0.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #     driver.find_element(by.XPATH, "//span[contains(text(), 'Next')]").click(); time.sleep(5.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # except: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #     pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.get("https://twitter.com"); time.sleep(7) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                self.driver.find_element(by.XPATH, "//span[contains(text(), 'Profile')]").click(); time.sleep(7) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            except: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    self.driver.find_element(by.XPATH, "//a[@data-testid='AppTabBar_Profile_Link']").click(); time.sleep(7) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                except: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                username_ = self.driver.current_url.replace("https://twitter.com/", "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            except: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                username_ = "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            img_name = random.randint() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            open(f"data/{img_name}.jpg", "wb").write(requests.get("https://thispersondoesnotexist.com/image").content) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                self.driver.find_element(by.XPATH, "//span[contains(text(), 'Edit profile')]").click(); time.sleep(5.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            except: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    self.driver.find_element(by.XPATH, "//span[contains(text(), 'Set Up Profile')]").click(); time.sleep(5.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                except: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        self.driver.find_element(by.XPATH, "//span[contains(text(), 'Set up profile')]").click(); time.sleep(5.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    except: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # driver.find_element(by.XPATH, "//input[@data-testid='fileInput']").send_keys(f"data/{img_name}.jpg") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_elements(by.XPATH, "//input[@data-testid='fileInput']")[1].send_keys(os.path.abspath(f"data/{img_name}.jpg")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            time.sleep(1.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_element(by.XPATH, "//span[contains(text(), 'Apply')]").click(); time.sleep(1.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver.find_element(by.XPATH, "//span[contains(text(), 'Save')]").click(); time.sleep(5.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        time.sleep(1.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # 评论 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # driver.get(url); time.sleep(7) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # self.comments(driver, text) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # 写入账户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        os.makedirs("data/accounts") if not os.path.exists("data/accounts") else False 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        with open("data/accounts/accounts.txt", "a") as file: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            file.write(f"{number}:Vojko123:{username_}\n") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.driver.quit() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def comments(self,driver,text): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            add_comment = driver.find_element(by.XPATH, "//div[@data-testid='reply']")         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            add_comment.click(); time.sleep(3.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            add_comment = driver.find_element(by.XPATH, "//div[@data-testid='tweetTextarea_0']") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            add_comment.click(); add_comment.send_keys(text); time.sleep(1.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            add_comment.send_keys(" "); time.sleep(1.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                driver.find_element(by.XPATH, "//span[contains(text(), 'Reply')]").click() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            except: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    driver.find_element(by.XPATH, "//span[contains(text(), 'Tweet')]").click() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                except: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        add_comment.send_keys(Keys.ENTER) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    except: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # driver.find_element(by.XPATH, "//span[contains(text(), 'Tweet')]").click() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            time.sleep(5.5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            e="Success comment" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # print(e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def phoneVerification(self, apiKey): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if self.driver.current_url==api.accountAccess: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                # self.driver.find_element(by=by.XPATH,"//") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                # number,_id=pv.getNumber 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            finally: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def getRandomName(self): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        '''获取随机昵称''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return json.loads(self.sess.get(api.getNickName).text)["name"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def run(self): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # 下载驱动 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.chooseBrowser() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.signup(apkKey="xx",url="",text="xx") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def chooseBrowser(self): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        browserType=input("if you installed \r\n Chrome input 1,\r\n Edge input 2,\r\n Firefox iniput 3:\r\n") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           # self.driver= webdriver.Chrome(executable_path=chrome_path,options=options) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # chrome = Chrome() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # self.driver=chrome.getWebdriver(proxy_address=proxy) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if browserType=="1": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver=Chrome().getWebdriver() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        elif browserType=="2": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver=Edge().getWebdriver(proxy_address='127.0.0.1:1080') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        elif browserType=="3": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self.driver=Firefox().getWebdriver() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def getArgs(self): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        '''获取参数''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.parser = argparse.ArgumentParser(description="desc help") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.parser.add_argument( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "--proxy", type=str, default="127.0.0.1:1080", help="input local proxy") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.parser.add_argument( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "--pwd", type=str, default="123456", help="input password") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return self.parser.parse_args() 
			 |