Browse Source

bug fixed version

Shellmiao 4 years ago
parent
commit
9cb911ae5f

+ 16 - 6
VerificationCode/mcbbs/SignIn.py

@@ -79,12 +79,22 @@ def sign_in_button(driver):
 
 
 def sign_in(driver):
-    time.sleep(2)
-    button = driver.find_element_by_id('emot_1')
-    ActionChains(driver).move_to_element(button).click().perform()
-    time.sleep(2)
-    submit = driver.find_element_by_name('signpn')
-    ActionChains(driver).move_to_element(submit).click().perform()
+    while True:
+        try:
+            time.sleep(2)
+            button = driver.find_element_by_id('emot_1')
+        except NoSuchElementException:
+            continue
+        else:
+            ActionChains(driver).move_to_element(button).click().perform()
+        try:
+            time.sleep(2)
+            submit = driver.find_element_by_name('signpn')
+        except NoSuchElementException:
+            continue
+        else:
+            ActionChains(driver).move_to_element(submit).click().perform()
+            break
 
 
 def get_image(driver):

+ 11 - 7
VerificationCode/mcbbs/reply.py

@@ -1,5 +1,5 @@
 from selenium.webdriver.common.action_chains import ActionChains
-from selenium.common.exceptions import NoSuchElementException
+from selenium.common.exceptions import NoSuchElementException, TimeoutException
 import random
 import time
 
@@ -7,11 +7,15 @@ import time
 def reply(driver, url):
     while True:
         reply_page_url = get_reply_page_url(driver, url)
-        driver.get(reply_page_url)
-        content = get_reply_content(driver)
-        if not content == '#':
-            if start_reply(driver, content):
-                break
+        try:
+            driver.get(reply_page_url)
+        except TimeoutException:
+            continue
+        else:
+            content = get_reply_content(driver)
+            if not content == '#':
+                if start_reply(driver, content):
+                    break
     time.sleep(2)
 
 
@@ -23,7 +27,7 @@ def start_reply(driver, content):
         return False
     else:
         ActionChains(driver).move_to_element(message).perform()
-        time.sleep(3)
+        time.sleep(6)
         ActionChains(driver).double_click(message).perform()
         time.sleep(3)
         message.send_keys(content)

File diff suppressed because it is too large
+ 0 - 0
loginTools/banned/fpl52242.txt


File diff suppressed because it is too large
+ 0 - 0
loginTools/banned/zfg76656.txt


File diff suppressed because it is too large
+ 0 - 0
loginTools/cookies/ql055336.txt


+ 18 - 3
loginTools/login.py

@@ -1,3 +1,4 @@
+from selenium.common.exceptions import NoSuchElementException
 import json
 import time
 
@@ -11,8 +12,22 @@ def login(driver, cookie_path):
             driver.add_cookie(cookie)
     driver.get('https://www.mcbbs.net/home.php?mod=spacecp')
     time.sleep(2)
-    element = driver.find_element_by_xpath("//div[@class='alert_error']")
-    if '空间已被锁定无法访问' in element.text:
-        return False
+    try:
+        element = driver.find_element_by_xpath("//div[@class='alert_info']/p")
+    except NoSuchElementException:
+        print('已登录')
     else:
+        if '需要先登录' in element.text:
+            return False
+        else:
+            return True
+    try:
+        element = driver.find_element_by_xpath("//div[@class='alert_error']")
+    except NoSuchElementException:
         return True
+    else:
+        if '空间已被锁定无法访问' in element.text:
+            print('被禁言')
+            return False
+        else:
+            return True

File diff suppressed because it is too large
+ 0 - 0
loginTools/shellmiao_v.txt


+ 7 - 2
start.py

@@ -7,6 +7,7 @@ from loginTools.login import login
 from loginTools.include_all_cookies import include_all_cookies
 import time
 import threading
+import random
 
 
 def main():
@@ -34,12 +35,16 @@ def one_reply():
         if not login(driver, cookie_path):
             continue
         time.sleep(10)
+        r = random.randint(1, 50)
+        r = str(r)
         reply(driver,
-              'https://www.mcbbs.net/forum.php?mod=forumdisplay&fid=52&orderby=heats&filter=dateline&dateline=604800')
+              'https://www.mcbbs.net/forum-chat-' + r + '.html')
         i = 2
         while i >= 1:
             time.sleep(10)
-            reply(driver, 'https://www.mcbbs.net/forum-mod-1.html')
+            r = random.randint(1, 50)
+            r = str(r)
+            reply(driver, 'https://www.mcbbs.net/forum-mod-' + r + '.html')
             i = i - 1
     driver.quit()
 

Some files were not shown because too many files changed in this diff