使用 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 驱动程序的步骤:
- 点击这个链接。根据你的 Chrome 浏览器版本和操作系统类型下载 Chrome 驱动程序。
- 如果要查找 Chrome 浏览器的版本,点击 Chrome 右上角的三个点,点击帮助,选择关于谷歌浏览器。你可以在
关于
部分查看 Chrome 版本。 - 解压 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()
输出:
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