[битва на питоне] как использовать python для автоматического входа в CSDN

задняя часть Python
[битва на питоне] как использовать python для автоматического входа в CSDN

содержание

Анализ страницы

Знакомство с модулями и драйверами селена

1. Вводим в код установленный Chromedriver.exe

2. Введение через браузер

Смоделированный вход в систему сканером

1. Установите URL-ссылку

2. Переключитесь на логин с паролем учетной записи

3. Найдите контрольный идентификатор имени пользователя и пароля.

4. Введите имя пользователя и пароль

5. Имитация входа в систему

Успешный вход в CSDN

первый эффект

​​

Анализ страницы

Страница входа в CSDN выглядит следующим образом.

Знакомство с модулями и драйверами селена

1. Вводим в код установленный Chromedriver.exe

# -*- coding:utf-8 -*-
from selenium import webdriver  
import os
import time
#引入chromedriver.exe
chromedriver="C:/Users/lex/AppData/Local/Google/Chrome/Application/chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
browser = webdriver.Chrome(chromedriver)

2. Введение через браузер

Адрес загрузки драйвера:

скачать.CSDN.net/download/Tower…

После загрузки драйвера скопируйте ChromedRiver.exe на путь установки Google Chrome, в каталоге, параллельном файле запуска Chrome.exe:

Смоделированный вход в систему сканером

1. Установите URL-ссылку

#设置浏览器需要打开的url
url = "https://passport.csdn.net/login?code=public"  
browser.get(url)

2. Переключитесь на логин с паролем учетной записи

Используйте селен, чтобы имитировать возможность щелкнуть пароль учетной записи для входа в систему.

#使用selenium选择 账号登录按钮
browser.find_element_by_link_text("账号密码登录").click()

3. Найдите контрольный идентификатор имени пользователя и пароля.

4. Введите имя пользователя и пароль

Согласно анализу кода страницы, атрибут id полученного имени пользователя — это все, а атрибут id пароля — это пароль-номер.

Используйте код Python для ввода пароля пользователя

browser.find_element_by_id("all").clear()
browser.find_element_by_id("all").send_keys("xxxx@gmail.com")
time.sleep(2)
browser.find_element_by_id("password-number").clear()
browser.find_element_by_id("password-number").send_keys("1212121212")

5. Имитация входа в систему

Проанализируйте структуру страницы и смоделируйте нажатие кнопки входа.

Анализ может быть получен, атрибут класса кнопки входа в систему является BTN BTN-первичным, а кнопка заблокирована в соответствии с классом

time.sleep(1)
#增加一秒钟的时间间隔
browser.find_element_by_css_selector("[class='btn btn-primary']").click()

Успешный вход в CSDN

полный код

# -*- coding:utf-8 -*-
import os
import time
from selenium import webdriver # 从selenium导入webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
import json
import time
#引入chromedriver.exe
chromedriver="C:/Users/lex/AppData/Local/Google/Chrome/Application/chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
browser = webdriver.Chrome(chromedriver)
#设置浏览器需要打开的url
url = "https://passport.csdn.net/login?code=public"  
browser.get(url)
browser.find_element_by_link_text("账号密码登录").click()
browser.find_element_by_id("all").clear()
browser.find_element_by_id("all").send_keys("你的邮箱地址")
time.sleep(1)
browser.find_element_by_id("password-number").clear()
browser.find_element_by_id("password-number").send_keys("你的登录密码")
time.sleep(1)
browser.find_element_by_css_selector("[class='btn btn-primary']").click()