python webbrowser打开网站实现点击_python实现网站的自动登录(selenium实现,带验证码识别)...

本文介绍如何使用Python的Selenium库实现网站自动登录,包括获取验证码、处理验证码并识别,以及自动填充登录信息。文章详细阐述了所需环境、库的安装、验证码的图像处理和识别过程,最后提供了完整的代码示例。
摘要由CSDN通过智能技术生成

一、前言

这是鄙人在知乎写的第一篇文章,旨在总结一下近期所学,本文通过selenium工具实现工作所用网站的自动登录,下图为网站登录界面。

4589af1757d8a944e64e7980ced8a0d3.png

1、运行环境

操作系统:Windows10

python版本:python3.7

2、需要的python第三方库

1、selenium

安装:

pip 

selenium是ThoughtWorks提供的一个强大的基于浏览器的开源自动化测试工具。支持的浏览器包括IE、Chrome和Firefox等。

另外还需要下载浏览器驱动,我这里用的是Google浏览器驱动。

Google浏览器驱动:官网链接

选择适配的浏览器版本和Windows系统,然后将下载得到的exe文件放到python的安装目录下。

2、baidu_api

安装:

pip 

baidu_api是百度文字识别的OCR(Optical Character Recognition,光学字符识别),很多人可能会用tesseract库࿰

在Ubuntu系统中,你可以使用Python的`webbrowser`模块打开Snap安装的Firefox浏览器,并结合Selenium库来自动登录过程。首先,确保已经安装了Firefox、Selenium WebDriver(推荐geckodriver)、以及相关的webdriver支持(如`selenium.webdriver.FirefoxOptions`)。以下是一个简单的例子: ```python import webbrowser from selenium import webdriver from selenium.webdriver.common.keys import Keys # 打开指定的网页 url = "https://your-website-url.com" # 替换为你要登录网站地址 webbrowser.get('firefox').open_new_tab(url) # 等待页面加载完成 WebDriverWait(driver, 10).until(lambda driver: driver.title != '') # 使用Selenium找到登录元素(这里假设login是登录表单的id) login_button_xpath = '//*[@id="login"]' # 根据实际HTML结构找到登录按钮的XPath driver.find_element_by_xpath(login_button_xpath).click() # 输入用户名和密码 username_field = driver.find_element_by_name("username") or driver.find_element_by_id("username") password_field = driver.find_element_by_name("password") or driver.find_element_by_id("password") username_field.send_keys("your_username") password_field.send_keys("your_password") # 自动提交表单 password_field.send_keys(Keys.RETURN) # 或者使用`password_field.submit()` # 检查登录状态 try: welcome_message = driver.find_element_by_class_name("welcome-message") print("Login successful:", welcome_message.text) except NoSuchElementException: print("Failed to login.") # 关闭浏览器窗口 driver.quit() ``` **注意**:这段代码依赖于页面的HTML结构,你需要根据实际的登录界面调整XPath或者其他定位策略(如CSS选择器)。此外,由于涉及到敏感操作,确保你在安全环境中运行,并保护好你的用户名和密码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值