使用 Selenium Python 登录网站

Fariba Laiq 2024年2月15日
使用 Selenium Python 登录网站

有时我们可能希望在浏览器中自动执行任务,例如登录网站。在我们想要从需要登录的网站上抓取数据的情况下,它会很有帮助。

Python 提供了许多用于 Web 自动化的包,例如 Selenium。

使用 Selenium Python 登录网站

Selenium 是一个强大的 Web 浏览器自动化和测试工具。我们编写脚本来控制 Web 浏览器并执行特定操作。

安装 Selenium 和 Chrome Webdriver

要安装 Selenium,我们使用以下命令。

#Python 3.x
pip install selenium

ChromeDriver 是 Selenium WebDriver 用来与 Chrome 交互的另一个可执行文件。如果我们想在 Chrome 网络浏览器上自动执行任务,我们还需要安装 ChromeDriver。

根据 Chrome 浏览器的版本,我们需要为其选择兼容的驱动程序。以下是安装和配置 Chrome 驱动程序的步骤:

  1. 点击这个链接。根据你的 Chrome 浏览器版本和操作系统类型下载 Chrome 驱动程序。
  2. 如果要查找 Chrome 浏览器的版本,点击 Chrome 右上角的三个点,点击帮助,选择关于谷歌浏览器。你可以在关于部分查看 Chrome 版本。
  3. 解压 zip 文件并运行 Chrome 驱动程序。

使用 Selenium Python 自动登录网站的代码

我们在以下代码中创建了 WebDriver 实例,并指定了 Chrome 驱动程序的路径。然后我们将目标网站的 URL 指定给驱动程序实例。它将在所需的浏览器中打开目标网站。

我们在变量中存储了虚拟电子邮件和密码,稍后将用于登录。要自动输入电子邮件和密码并单击登录按钮,我们必须找到这些变量的名称/id(可用)网页元素。

我们必须在浏览器中打开所需的网站,右键单击元素,然后单击检查元素。在这里,我们可以看到 HTML 代码,包括元素的名称。

我们将复制元素的名称并将其作为参数传递给带有驱动程序实例的 find_element_by_name() 方法。我们将对剩余的两个元素重复该过程。

此方法将返回 Web 元素,我们将其存储在变量中。我们将使用 sendkeys() 方法自动在其相关字段中输入电子邮件和密码。

我们在填写字段后设置了一个两秒的计时器,以便用户可以通过该过程的延迟来观察正在发生的事情。最后,登录按钮将通过 click() 方法自动单击。

示例代码:

# Python 3.x
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome(r"E:\download\chromedriver.exe")
driver.maximize_window()
driver.get("https://discpersonalitytesting.com/login-here/")
email = "myemail@email.com"
password = "mypassword1@23"
email_textfield = driver.find_element_by_name("email")
password_textfield = driver.find_element_by_name("password")
login_button = driver.find_element_by_name("LoginDAPLoginForm")
email_textfield.send_keys(email)
time.sleep(2)
password_textfield.send_keys(password)
time.sleep(5)
login_button.click()

输出:

Selenium 登录

作者: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

相关文章 - Python Selenium