python - Python 使用驱动程序 selenium 将焦点从 Web 浏览器切换回终端
问题描述
我正在使用 selenium webdriver 打开网页并填写表格。
无论如何在代码中间我需要在终端中提供输入数据
但焦点仍然停留在网络浏览器中,所以我需要手动将鼠标移回终端。
无论如何将焦点从网络浏览器切换回终端?
示例代码:
import time
from selenium import webdriver
driver = webdriver.Chrome() # Optional argument, if not specified will search path.
driver.get('https://www.seleniumeasy.com/test/basic-first-form-demo.html')
search_box = driver.find_element_by_id('user-message')
search_box.send_keys('John Rambo')
time.sleep(5) # Let the user actually see something!
test=input('please provide a number 0-9: \n') # I'd like the focus to switch back to the terminal
driver.quit()
解决方案
通过 Selenium - 不。它是一个通过 WebDriver 协议专门与浏览器通信的库。它只能向浏览器发送请求,浏览器可能(也可能不会)执行它们。
因此,它无法与外部的任何东西进行通信——操作系统及其应用程序切换例程,包括。
为此,您需要一些其他库,可以发出操作系统请求(切换应用程序)或模拟键盘/鼠标输入。但这些都取决于操作系统,例如 Windows、Mac 或 Linux 的不同。
推荐阅读
- angular - 以角度推动物体
- wxpython - Wxpython - AuiManager 的大小相关问题
- node.js - 与 API 的 HTTPS 连接不起作用 Express/Node/Nginx
- google-play - 仅针对 Android 手机过滤 Playstore 可用性
- apache-kafka - 卡夫卡消费者不做任何事情
- javascript - 需要帮助样式图表 JS 雷达图表
- reactjs - 如何从另一个组件的 react-hook-form 读取值
- parallel-processing - Cython prange 变量范围
- database - 从数据库中打印 Laravel 特定数据(图片)
- python - ValueError:发现样本数量不一致的输入变量:[100, 300]