打开csdn博客,简单版
class BS:def __init__(self, url):self.url = url# self.password = password# self.username = usernamedef 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 Byclass Browser:def __init__(self, url, username, password, element_name, element_password, element_login):self.url = urlself.password = passwordself.username = usernameself.element_name = element_nameself.element_password = element_passwordself.element_login = element_logindef 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博客