我使用 Python + Selenium + Splinter + Firefox 创建交互式网络爬虫。
python 脚本提供选项,然后 Selenium 打开 Firefox 并发送一些命令。
现在,我需要让 python 脚本知道用户想要与之交互的 web 元素。
我目前使用的方法是:
右键单击网站 (Firefox) 中的项目,单击“检查元素”,然后单击 Firefox 检查器,单击“复制 HTML”,然后手动将其提供给脚本,然后脚本就可以继续了。
但由于显而易见的原因,我觉得这个过程远非完美。
我对javascript一无所知,但在阅读了其他问题后,我觉得javascript实际上可以成为解决方案。
Splinter 允许运行 javascript 并将返回值提取到 python 脚本中,因此,理论上:
是否可以运行一个 javascript 代码来返回用户单击的下一个元素的 html 代码?那么命名方法只会右键单击所需的元素吗?
澄清艾米的评论:
python 脚本会打开一个 Firefox 窗口,该窗口仍保留在脚本中。使用 splinter,可以执行 javascript 代码并在完成/信息返回时等待。这意味着 python 脚本可以要求用户单击或右键单击它拥有的 Firefox 窗口,因此目标是启动一个 javascript 来“捕捉”用户单击的元素。
这足以让 javascript 捕获所需的元素吗?