auth.py 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. from selenium import webdriver
  2. from selenium.webdriver.support.wait import WebDriverWait
  3. from selenium.webdriver.support import expected_conditions as EC
  4. from selenium.webdriver.common.by import By
  5. from pyquery import PyQuery as pq
  6. from bs4 import BeautifulSoup
  7. from time import sleep
  8. import time
  9. import traceback
  10. import json
  11. import os
  12. import config
  13. import util
  14. chrome_path = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
  15. def login(url):
  16. # browser = webdriver.Chrome()
  17. # browser = webdriver.Firefox()
  18. options = webdriver.ChromeOptions()
  19. # 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Selenium
  20. options.add_experimental_option('excludeSwitches', ['enable-automation'])
  21. # options.add_argument(r'--headless')
  22. # 启用缓存,同本机的浏览器一样的的数据
  23. options.add_argument(r'user-data-dir=C:\Users\Administrator\AppData\Local\Google\Chrome')
  24. browser = webdriver.Chrome(options=options)
  25. wait = WebDriverWait(browser, 15)
  26. browser.maximize_window()
  27. browser.get(url=url)
  28. sleep(10)
  29. # print(a)
  30. # iframe = browser.find_element_by_tag_name("iframe")
  31. # browser.switch_to.frame(iframe)
  32. try:
  33. # login_button = browser.find_element_by_id('login')
  34. login_button = browser.find_element_by_class_name('login')
  35. # browser.execute_script("arguments[0].scrollIntoView(false);", login_button)
  36. login_button.click()
  37. # browser.find_element_by_class_name("J_Quick2Static").click()
  38. # WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, u'密码登录'))).click()
  39. sleep(5)
  40. browser.find_element_by_id("uc-common-account").clear()
  41. browser.find_element_by_id("uc-common-account").send_keys("kfzsshop")
  42. sleep(3)
  43. browser.find_element_by_id("ucsl-password-edit").clear()
  44. browser.find_element_by_id("ucsl-password-edit").send_keys("Kfzs654")
  45. sleep(5)
  46. browser.find_element_by_id("submit-form").click()
  47. # browser.find_element_by_id("J_SubmitStatic").click()
  48. # browser.switch_to.default_content()
  49. sleep(30)
  50. cookies = browser.get_cookies()
  51. print(cookies)
  52. with open('data.json', 'w') as f:
  53. json.dump(cookies, f)
  54. # util.store_file("cookies.txt", cookies)
  55. # browser.close()
  56. except:
  57. print("no_login_id")
  58. browser.quit()
  59. return