Python RPA简单开发实践(selenium登陆浏览器自动输入密码登陆)

发布于:2024-03-28 ⋅ 阅读:(31) ⋅ 点赞:(0)

打开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博客

本文含有隐藏内容,请 开通VIP 后查看