reply.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from selenium.webdriver.common.action_chains import ActionChains
  2. import random
  3. import time
  4. def reply(driver):
  5. reply_page_url = get_reply_page_url(driver)
  6. driver.get(reply_page_url)
  7. content = get_reply_content(driver)
  8. start_reply(driver, content)
  9. time.sleep(2)
  10. # 进行回复动作
  11. def start_reply(driver, content):
  12. print(content)
  13. message = driver.find_element_by_id('vmessage')
  14. ActionChains(driver).move_to_element(message).click().perform()
  15. message.send_keys(content)
  16. time.sleep(20)
  17. element = driver.find_element_by_id('vreplysubmit')
  18. ActionChains(driver).move_to_element(element).click().perform()
  19. # 读取从上往下第二条评论的内容,并返回
  20. def get_reply_content(driver):
  21. element = driver.find_element_by_xpath(
  22. "//div[@id='postlist']/div[3]/table/tbody/tr/td[2]/div[2]/div/div/table/tbody/tr/td")
  23. return element.text
  24. # 取得mod发布页面的最后一个页面的url
  25. def get_reply_page_url(driver):
  26. driver.get('https://www.mcbbs.net/forum-mod-1.html')
  27. r = random.randint(0, 24)
  28. r = str(r)
  29. element = driver.find_element_by_xpath("//form[@id='moderate']/table/tbody[last()-" + r + "]/tr/th/a[3]")
  30. return element.get_attribute('href')