100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Python自动打开浏览器 输入账号密码 登录 截图

Python自动打开浏览器 输入账号密码 登录 截图

时间:2024-02-23 20:50:51

相关推荐

Python自动打开浏览器 输入账号密码 登录 截图

这里示例一下通过python,自动打开网页,登录后自动截图

总体思路如下:

① 加载Chrome浏览器驱动程序(下载地址)

具体下载方式可以参考:使用selenium自动打开谷歌浏览器

② 打开url链接(此处建议sleep等待一下,避免网速或内存不良时,导致网页打开较久的问题)

③ 找到账号密码的输入框

④ 输入账号密码

⑤ 点击登录按钮

⑥ 全屏,避免不同分辨率导致页面布局的问题

⑦ 逐个点击需要截图的链接路径位置

⑧ 若有多个需要打开,需要将目录折叠回原样,或者F5刷新页面

⑨ 截图,并存放到指定目录

具体代码示例如下:

import osimport smtplibimport timeimport datetimefrom selenium.webdriver.chrome.service import Servicefrom selenium import webdriverfrom mon.by import Bydef login_fr(driver_path, url, username, password):# 打开浏览器并登录path = Service(driver_path)driver = webdriver.Chrome(service=path)# 打开链接driver.get(url)time.sleep(3)# 浏览器全屏driver.maximize_window()# 找到输入框user_input = driver.find_element(by=By.XPATH, value='//input[@type="text"]')pw_input = driver.find_element(by=By.XPATH, value='//input[@type="password"]')login_btn = driver.find_element(by=By.CLASS_NAME, value='login-button')# 输入用户名和密码,点击登录user_input.send_keys(username)pw_input.send_keys(password)time.sleep(1)login_btn.click()time.sleep(3)return driverdef cut_screen(driver, cut_list, img_path):# 逐步打开需要截图页面的位置for cut_key, cut_value in cut_list.items():i_cut_dir = cut_key# 展开文件夹driver.find_element(by=By.XPATH, value='//div[text()="' + i_cut_dir + '"]').click()for i_cut_file in cut_value:driver.find_element(by=By.XPATH, value='//div[text()="' + i_cut_file + '"]').click()time.sleep(1)# 全屏+等待加载screen_do(driver, '全屏')time.sleep(5)# 截图、命名、移动# code = datetime.datetime.now().strftime("%Y%m%d%H%M%S")# filename = i_cut_file + str(code) + '.png'filename = i_cut_file + '.png'driver.get_screenshot_as_file(img_path + filename)# 取消全屏screen_do(driver, '退出全屏')time.sleep(1)# 关闭打开页面,减少消耗screen_do(driver, '关闭全部')time.sleep(1)# 折叠文件夹,避免文件夹的重复操作driver.find_element(by=By.XPATH, value='//div[text()="' + i_cut_dir + '"]').click()time.sleep(3)def screen_do(driver, do):# 操作功能菜单键driver.find_element(by=By.CLASS_NAME, value='dec-frame-tab-pane-tabs-down-list').click()driver.find_element(by=By.XPATH, value='//div[text()="' + do + '"]').click()if __name__ == '__main__':# 指定浏览器驱动位置# 下载地址:https://chromedriver./index.htmldriver_path = '../venv/chromedriver.exe'# 定义目标URL信息aim_url = {'url': 'http://localhost:4087/web/view','username': 'demo','password': 'demo'}# 定义需要打开的链接cut_list = {'Person': ['中国疫情大数据']}# 定义img存放文件夹img_path = python_path + 'auto_img/'if not os.path.exists(img_path):os.makedirs(img_path)# 登录driver = login_fr(driver_path, aim_url['url'], aim_url['username'], aim_url['password'])# 截图cut_screen(driver, cut_list, img_path)# 关闭浏览器driver.close()

通过如上的代码,就可以完成自动打开谷歌浏览器、键入账号密码登录、打开指定链接、并完成截图和图片存储

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。