打开csdn博客,简单版
class BS:
def __init__(self, url):
self.url = url
# self.password = password
# self.username = username
def login_url(self):
from selenium import webdriver
# 不自动关闭浏览器
option = webdriver.ChromeOptions()
option.add_experimental_option("detach", True)
# 注意此处添加了chrome_options参数
driver = webdriver.Chrome(options=option)
driver.get(self.url)
person = BS("https://www.csdn.net/")
person.login_url()
进阶版
自动化输入密码登陆堡垒机
定位元素信息
例如定位用户名的元素信息,视图如下:
所以可以通过id属性,获取到的用户名元素是“ user”
代码
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
class Browser:
def __init__(self, url, username, password, element_name, element_password, element_login):
self.url = url
self.password = password
self.username = username
self.element_name = element_name
self.element_password = element_password
self.element_login = element_login
def login_url(self):
# 不自动关闭浏览器
option = webdriver.ChromeOptions()
option.add_experimental_option("detach", True)
# 注意此处添加了chrome_options参数
driver = webdriver.Chrome(options=option)
driver.get(self.url)
# 获取访问页面时的”高级“ 和 ”继续访问“的页面元素按钮
advanced_button = driver.find_element(by=By.ID, value="details-button")
advanced_button.click()
proceed_button = driver.find_element(by=By.ID, value="proceed-link")
proceed_button.click()
# 通过id查找用户名和密码输入框,获取元素
driver.find_element(by=By.ID, value=self.element_name).send_keys(self.username)
driver.find_element(by=By.ID, value=self.element_password).send_keys(self.password)
# 获取登陆按钮的页面元素
login_button = driver.find_element(by=By.ID, value=self.element_login)
login_button.click()
time.sleep(5)
if __name__ == "__main__":
person = Browser("https://1.1.1.1/fort/login", "your_username", "your_pasword", "用户名属性名", "密码属性名", "登陆属性名")
person.login_url()
H3C = Browser("https://2.2.2.2/login.html", "your_username", "用户名属性名", "密码属性名", "登陆属性名")
H3C.login_url()
返回:
就是实际的浏览器自动登陆,模拟了人工鼠标点击和输入用户密码的方式
注意事项:
1.针对不同的url,打开浏览器的方式是固定的
2.需要确认:
访问https时的 “高级”按钮
”继续访问“ 按钮
“用户名“和”密码“按钮
“点击登陆”的按钮属性要确保匹配能找的到就可以了
更多详细的用法可以参考这篇博客,写的很详细:
selenium用法详解【从入门到实战】【Python爬虫】【4万字】_selenium用法详解4万字csdn-CSDN博客