task.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. from selenium.webdriver.common.action_chains import ActionChains
  2. from selenium.common.exceptions import NoSuchElementException
  3. import time
  4. def get_new_tasks(driver):
  5. driver.get('https://www.mcbbs.net/home.php?mod=task')
  6. i = '1'
  7. while True:
  8. result = submit(driver, i)
  9. print(result)
  10. if result == 0:
  11. break
  12. elif result == -1:
  13. i = i
  14. else:
  15. result = str(result)
  16. i = result
  17. time.sleep(4)
  18. driver.get('https://www.mcbbs.net/home.php?mod=task')
  19. def submit(driver, i):
  20. try:
  21. element = driver.find_element_by_xpath("//div[@class='ptm']/table/tbody/tr[" + i + "]/td[2]/h3/a")
  22. except NoSuchElementException:
  23. return 0
  24. else:
  25. url = element.get_attribute('href')
  26. time.sleep(2)
  27. driver.get(url)
  28. time.sleep(2)
  29. check = driver.find_element_by_xpath("//h1[@class='xs2 ptm pbm']")
  30. if check.text == '【新人任务⑧】杰出活跃':
  31. i = int(i)
  32. i = i + 1
  33. return i
  34. button_submit = driver.find_element_by_xpath("//table[@class='tfm']/tbody/tr[3]/td[2]/a")
  35. time.sleep(2)
  36. print(button_submit.get_attribute('href'))
  37. if button_submit.get_attribute('href') == 'javascript:;':
  38. i = int(i)
  39. i = i + 1
  40. return i
  41. else:
  42. ActionChains(driver).move_to_element(button_submit).click().perform()
  43. return -1
  44. def complete_tasks(driver):
  45. driver.get('https://www.mcbbs.net/home.php?mod=task&item=doing')
  46. i = '1'
  47. while True:
  48. result = complete(driver, i)
  49. print(result)
  50. if result == 0:
  51. break
  52. elif result == -1:
  53. i = i
  54. else:
  55. result = str(result)
  56. i = result
  57. time.sleep(4)
  58. driver.get('https://www.mcbbs.net/home.php?mod=task&item=doing')
  59. def complete(driver, i):
  60. try:
  61. element = driver.find_element_by_xpath("//div[@class='ptm']/table/tbody/tr[" + i + "]/td[2]/h3/a")
  62. except NoSuchElementException:
  63. return 0
  64. else:
  65. url = element.get_attribute('href')
  66. time.sleep(2)
  67. driver.get(url)
  68. time.sleep(2)
  69. button_submit = driver.find_element_by_xpath("//table[@class='tfm']/tbody/tr[3]/td[2]/p/a[1]/img")
  70. if button_submit.get_attribute('src') == 'https://www.mcbbs.net/static/image/task/rewardless.gif':
  71. i = int(i)
  72. i = i + 1
  73. return i
  74. else:
  75. ActionChains(driver).move_to_element(button_submit).click().perform()
  76. return -1