使用 Python 和 PyAutoGUI 自动化 Bing 搜索

2024-05-29 11:04

本文主要是介绍使用 Python 和 PyAutoGUI 自动化 Bing 搜索,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这篇博客文章将探讨如何利用 Python 和 PyAutoGUI 库来自动化 Microsoft Edge 上的简单网络搜索。我们将逐步讲解代码,解释其功能并演示其自动化重复任务的能力。

C:\pythoncode\new\autoguigoogle.py

全部代码:

import pyautogui
import time# Open Microsoft Edge
pyautogui.hotkey('win', 'r')
pyautogui.write('msedge')
pyautogui.press('enter')# Go to bing.com
time.sleep(5)# ... (Existing code for opening Edge, going to bing.com, etc.)# Focus on the search bar
# time.sleep(5)
# pyautogui.press('tab')# Switch to English input mode (adjust shortcuts as needed)# pyautogui.hotkey('ctrl', 'shift')  # Common shortcut for language switching
# pyautogui.hotkey('alt', 'e')  # Specific shortcut for English (may vary)
# Enter search query
# pyautogui.write('copolit')# ... (Rest of the existing code for pressing Enter, waiting, and capturing screenshot)pyautogui.hotkey('ctrl', 'l')pyautogui.write('bing.com')
pyautogui.press('enter')# Focus on the search bar
time.sleep(5)
# pyautogui.press('tab')# Enter search query
pyautogui.write('taylor swift')# Press Enter to search
pyautogui.press('enter')# Wait for results to load
time.sleep(5)# Capture screenshot
full_screenshot = pyautogui.screenshot()
image_name = 'bing_search_results.png'
full_screenshot.save(image_name)print("Screenshot saved:", image_name)

导入必要的库:

代码首先导入两个必要的库:

  • import pyautogui: 此库提供模拟鼠标和键盘操作的功能,允许我们自动化与计算机的用户交互。
  • import time: 此库使我们能够在操作之间引入延迟,模仿人类交互并确保脚本在网页加载完成后再继续执行。

打开 Microsoft Edge: 打开微软Edge:

  1. pyautogui.hotkey('win', 'r'): 此行模拟同时按下 Windows 键 (Win) 和字母“r”键,打开“运行”对话框。
  2. pyautogui.write('msedge'): 此行模拟在“运行”对话框中输入“msedge”,指定启动 Microsoft Edge 的命令。
  3. pyautogui.press('enter'): 此行模拟按下 Enter 键,执行命令并启动 Microsoft Edge。

导航到 Bing:

  1. time.sleep(5): 此行引入 5 秒的延迟,允许 Microsoft Edge 启动并充分加载。虽然确切的加载时间可能有所不同,但此延迟可确保脚本在浏览器准备好之前不会继续执行。

替代方法(已注释):

已注释的部分 (# Focus on the search bar... # pyautogui.press('tab')) 展示了另一种聚焦搜索栏的方法,即使用 Tab 键。但是,在这种情况下,直接使用 pyautogui.hotkey('ctrl', 'l') 导航到地址栏可能更有效。

搜索“copolit”(已注释):

已注释的部分 (# Switch to English input mode... # pyautogui.write('copolit')) 展示了切换输入模式为英文(根据需要调整快捷键)然后输入搜索查询“copolit”的逻辑。

重复导航到 Bing:

  1. pyautogui.hotkey('ctrl', 'l'): 此行模拟按下 Ctrl+L,这通常会在 Web 浏览器中打开地址栏。
  2. pyautogui.write('bing.com'): 此行模拟在地址栏中输入“bing.com”。
  3. pyautogui.press('enter'): 此行模拟按下 Enter 键,导航到指定的 URL (bing.com)。 com)。

搜索“taylor swift” 搜索“泰勒·斯威夫特”

  1. time.sleep(5): 再次引入 5 秒的延迟以允许 Bing 网页完全加载。
  2. pyautogui.write('taylor swift'): 此行模拟在 Bing 搜索栏中输入“taylor swift”。
  3. pyautogui.press('enter'): 此行模拟按下 Enter 键,在 Bing 上启动对“taylor swift”的搜索。

捕获屏幕截图:

  1. time.sleep(5): 在捕获屏幕截图之前引入最终的 5 秒延迟,以允许搜索结果加载。
  2. full_screenshot = pyautogui.screenshot(): 此行使用 pyautogui.screenshot() 捕获整个屏幕的屏幕截图。
  3. image_name = 'bing_search_results.png': 此行定义了捕获的屏幕截图的文件名。
  4. full_screenshot.save(image_name): 此行将屏幕截图保存到指定的文件名 (bing_search_results.png)。

确认消息:

  • print("Screenshot saved:", image_name): 此行将确认消息打印到控制台,指示屏幕截图已成功保存并使用所选的文件名。

结果如下:

结论:

此代码演示了如何使用 Python 和 PyAutoGUI 自动化简单的 Web 浏览任务。虽然可能需要根据您的系统配置调整语言切换的特定键盘快捷键,但核心功能展示了如何自动化打开浏览器、导航到网页、执行搜索和捕获屏幕截图。这种方法可以适用于各种重复的基于 Web 的任务,节省您的时间和精力。

这篇关于使用 Python 和 PyAutoGUI 自动化 Bing 搜索的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1013491

相关文章

Java中的Cursor使用详解

《Java中的Cursor使用详解》本文介绍了Java中的Cursor接口及其在大数据集处理中的优势,包括逐行读取、分页处理、流控制、动态改变查询、并发控制和减少网络流量等,感兴趣的朋友一起看看吧... 最近看代码,有一段代码涉及到Cursor,感觉写法挺有意思的。注意是Cursor,而不是Consumer

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

Python中常用的四种取整方式分享

《Python中常用的四种取整方式分享》在数据处理和数值计算中,取整操作是非常常见的需求,Python提供了多种取整方式,本文为大家整理了四种常用的方法,希望对大家有所帮助... 目录引言向零取整(Truncate)向下取整(Floor)向上取整(Ceil)四舍五入(Round)四种取整方式的对比综合示例应

python 3.8 的anaconda下载方法

《python3.8的anaconda下载方法》本文详细介绍了如何下载和安装带有Python3.8的Anaconda发行版,包括Anaconda简介、下载步骤、安装指南以及验证安装结果,此外,还介... 目录python3.8 版本的 Anaconda 下载与安装指南一、Anaconda 简介二、下载 An

如何使用CSS3实现波浪式图片墙

《如何使用CSS3实现波浪式图片墙》:本文主要介绍了如何使用CSS3的transform属性和动画技巧实现波浪式图片墙,通过设置图片的垂直偏移量,并使用动画使其周期性地改变位置,可以创建出动态且具有波浪效果的图片墙,同时,还强调了响应式设计的重要性,以确保图片墙在不同设备上都能良好显示,详细内容请阅读本文,希望能对你有所帮助...

Python自动化处理手机验证码

《Python自动化处理手机验证码》手机验证码是一种常见的身份验证手段,广泛应用于用户注册、登录、交易确认等场景,下面我们来看看如何使用Python自动化处理手机验证码吧... 目录一、获取手机验证码1.1 通过短信接收验证码1.2 使用第三方短信接收服务1.3 使用ADB读取手机短信1.4 通过API获取

Rust中的注释使用解读

《Rust中的注释使用解读》本文介绍了Rust中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释

python安装whl包并解决依赖关系的实现

《python安装whl包并解决依赖关系的实现》本文主要介绍了python安装whl包并解决依赖关系的实现,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、什么是whl文件?二、我们为什么需要使用whl文件来安装python库?三、我们应该去哪儿下

Python脚本实现图片文件批量命名

《Python脚本实现图片文件批量命名》这篇文章主要为大家详细介绍了一个用python第三方库pillow写的批量处理图片命名的脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言源码批量处理图片尺寸脚本源码GUI界面源码打包成.exe可执行文件前言本文介绍一个用python第三方库pi

Python中多线程和多进程的基本用法详解

《Python中多线程和多进程的基本用法详解》这篇文章介绍了Python中多线程和多进程的相关知识,包括并发编程的优势,多线程和多进程的概念、适用场景、示例代码,线程池和进程池的使用,以及如何选择合适... 目录引言一、并发编程的主要优势二、python的多线程(Threading)1. 什么是多线程?2.