欢迎光临
我们一直在努力

【python】科学刀论坛自动签到+答题!仅供学习交流

自学python,没事干就玩玩,写了一个论坛自动签到+答题的,用的selenium,需要Chrome浏览器和Chrome浏览器的驱动(chromedriver),不然就算有python环境也运行不了,没有python环境的直接py文件用记事本打开或者用其他文本编辑器打开也行,可以一起交流学习学习啦,里面有一定注释,有我的一些思路,可以一起和我交流啥的,共同学习!写这个仅供交流学习,大家不要用来扰乱论坛秩序,版主手下留情别办我啊,哈哈哈哈
代码的话,我就放在帖子里,回复可见哦
有python环境的可以下载我的压缩包试试哈哈哈,压缩包里有我用的chromedriver还有我的Chrome浏览器安装包,用的时候记得里面的chromedriver要和py文件在一个文件夹

  1. [hide]# kxd     https://www.kxdao.net/
  2. # 通过调用QQ接口登陆,实现避开验证码
  3. # https://www.kxdao.net/connect.php?mod=login&op=init&referer=index.php&statfrom=login_simple
  4. from selenium import webdriver
  5. from time import sleep
  6. # 无头浏览器
  7. from selenium.webdriver.chrome.options import Options
  8. # 实现无头浏览器
  9. chrome_options = Options()
  10. chrome_options.add_argument(‘–headless’)
  11. chrome_options.add_argument(‘–disable-gpu’)
  12. # 初始化浏览器对象
  13. driver = webdriver.Chrome(‘./chromedriver.exe’, chrome_options=chrome_options)
  14. # 打开指定网址
  15. print(‘正在打开网页!’)
  16. url = ‘https://www.kxdao.net/connect.php?mod=login&op=init&referer=index.php&statfrom=login_simple’
  17. driver.get(url)
  18. sleep(1.5)
  19. # 切换作用域到iframe
  20. driver.switch_to.frame(‘ptlogin_iframe’)
  21. # 用账号密码登录
  22. print(‘正在登录!’)
  23. u_p_login = driver.find_element_by_xpath(‘//*[@id=”switcher_plogin”]’)
  24. u_p_login.click()
  25. sleep(1)
  26. # 输入账号
  27. username = input(‘输入论坛账号绑定的QQ账号:’) # 这是第27行,也可以把这一行注释掉,在第29行括号中填上自己的QQ密码,记得加上引号,例如:’xxxxxxxxx’
  28. u = driver.find_element_by_id(‘u’)
  29. u.send_keys(username)
  30. sleep(0.5)
  31. # 输入密码
  32. pasword = input(‘请输入论坛账号绑定的QQ的密码:’) # 这是第32行,也可以把这一行注释掉,在第34行括号中填上自己的QQ密码,记得加上引号,例如:’xxxxxxxxx’
  33. p = driver.find_element_by_id(‘p’)
  34. p.send_keys(pasword)
  35. sleep(0.5)
  36. # 点击登录
  37. login_button = driver.find_element_by_id(‘login_button’)
  38. login_button.click()
  39. sleep(15)
  40. print(‘登陆成功!’)
  41. # 切换出iframe
  42. driver.switch_to.default_content()
  43. # 签到操作
  44. print(‘正在签到!’)
  45. sleep(2)
  46. qd = driver.find_element_by_xpath(‘//*[@id=”pper_a”]/img’)
  47. # print(qd.get_attribute(‘src’))
  48. # 签到完成的src=https://www.kxdao.net/source/plugin/dsu_amupper/images/wb.png
  49. if qd.get_attribute(‘src’) == ‘https://www.kxdao.net/source/plugin/dsu_amupper/images/wb.png’:
  50.     print(‘已经签过到了!’)
  51. else:
  52.     qd.click()
  53.     print(‘签到成功!’)
  54. # 答题操作
  55. print(‘开始答题!’)
  56. sleep(2)
  57. dt = driver.find_element_by_xpath(‘//div[@id=”um”]/p[2]/a[1]/img’)
  58. if dt.get_attribute(‘src’) == ‘https://www.kxdao.net/source/plugin/ahome_dayquestion/images/end.gif’:
  59.     print(‘已经答过题了!’)
  60. else:
  61.     dt.click()
  62.     sleep(5)
  63.     q1_a1 = driver.find_element_by_id(‘a1’)
  64.     q1_a2 = driver.find_element_by_id(‘a2’)
  65.     q1_a1_value = q1_a1.get_attribute(‘value’)
  66.     q1_a2_value = q1_a2.get_attribute(‘value’)
  67.     if q1_a1_value == ‘1’:
  68.         q1_a1.click()
  69.         sleep(0.5)
  70.     else:
  71.         q1_a2.click()
  72.         sleep(0.5)
  73.     q1_submit_btn = driver.find_element_by_xpath(
  74.         ‘//*[@id=”myform”]/div[4]/center/button’)
  75.     q1_submit_btn.click()
  76.     sleep(10)
  77.     go_on_btn = driver.find_element_by_xpath(
  78.         ‘//*[@id=”myform”]/div/center/button[1]’)
  79.     go_on_btn.click()
  80.     sleep(10)
  81.     q2_a1 = driver.find_element_by_id(‘a1’)
  82.     q2_a2 = driver.find_element_by_id(‘a2’)
  83.     q2_a1_value = q2_a1.get_attribute(‘value’)
  84.     q2_a2_value = q2_a2.get_attribute(‘value’)
  85.     if q2_a1_value == ‘1’:
  86.         q2_a1.click()
  87.         sleep(0.5)
  88.     else:
  89.         q2_a2.click()
  90.         sleep(0.5)
  91.     q2_submit_btn = driver.find_element_by_xpath(
  92.         ‘//*[@id=”myform”]/div[4]/center/button’)
  93.     q2_submit_btn.click()
  94.     sleep(10)
  95.     success_btn = driver.find_element_by_xpath(
  96.         ‘//*[@id=”myform”]/div/center/button’)
  97.     success_btn.click()
  98.     print(‘答题完成!’)
  99. sleep(5)
  100. print(‘所有操作完成,10秒后自动退出!’)
  101. sleep(10)
  102. driver.quit()[/hide]
赞(0)
未经允许不得转载:阿强爱分享 » 【python】科学刀论坛自动签到+答题!仅供学习交流

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址