содержание
Знакомство с модулями и драйверами селена
1. Вводим в код установленный Chromedriver.exe
Смоделированный вход в систему сканером
2. Переключитесь на логин с паролем учетной записи
3. Найдите контрольный идентификатор имени пользователя и пароля.
4. Введите имя пользователя и пароль
первый эффект
Анализ страницы
Страница входа в 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()