我正在尝试制作一个在网页上搜索文本的程序,然后在找到后将鼠标光标放在突出显示的文本上。这可能使用 pyautogui 吗?如果是这样,如何。如果没有,是否还有其他替代方法可以做到这一点?
示例代码如下:
import webbrowser
import pyautogui
var = 'Filtered Questions'
webbrowser.open('https://stackexchange.com/')
time.sleep(2)
pyautogui.hotkey('ctrl', 'f')
pyautogui.typewrite(var)
#code to place mouse cursor to the occurrence of var
我宁愿不使用 pyautogui.moveTo() 或 pyautogui.moveRel() 因为我在网站上搜索的文本不是静态的。当网页加载时,搜索文本的位置会发生变化。任何帮助将不胜感激。
原文由 ElectroMotiveHorse 发布,翻译遵循 CC BY-SA 4.0 许可协议
我在研究这个话题时偶然发现了这个问题。基本上答案是否定的。 “要点:
Pyautogui 可以选择使用图像进行搜索。例如,您可以使用它来截取您想要查找的所有文本并保存为单独的文本文件,然后使用它来动态搜索它并将鼠标移到那里/单击/做任何您需要的事情。但是,如 文档 中所述,每次搜索需要 1-2 秒,这是相当不切实际的。
在某些情况下,但并非总是如此,在网站上使用 ctrl+f 并搜索文本会滚动,因此结果位于页面的中间(垂直)。然而,这依赖于关于要搜索的文本在哪里的一些重大影响。如果它位于页面顶部,您显然无法使用该方法,就像它位于底部一样。
如果您尝试自动点击并拥有可区分名称的链接,我的建议是解析源代码并人为地点击链接。否则,您最好使用像 blue prism 这样的自动化套件。