Im使用Python+Selenium+Splinter+Firefox创建一个交互式web爬虫。在
python脚本提供了选项,然后Selenium打开Firefox并发送一些命令。在
现在,我需要让python脚本知道用户想要与之交互的web元素。在
我目前使用的方法是:Right-click the item in the website (Firefox), click 'inspect
element', then click in the Firefox inspector, click 'copy HTML', then
feed it manually to the script, which will then be able to go on.
但出于明显的原因,我觉得这个过程还远远不够完美。在
我对javascript一无所知,但是在阅读了other questions之后,我觉得javascript实际上可能是解决方案。在
Splinter允许运行javascript并将返回的值提取到python脚本中,因此,理论上:
是否可以运行一个javascript代码来返回用户单击的下一个元素的html代码?那么命名的方法只会右键单击所需的元素?在
对Amey评论的澄清:
python脚本打开一个Firefox窗口,该窗口的控件仍然保留在脚本中。
使用splitter,javascript代码可以执行并等待完成/信息返回。
这意味着python脚本可以要求用户在它拥有的Firefox窗口中单击或右键单击,因此目标是启动一个javascript来“捕捉”用户单击的元素。在
这足以让javascript捕获所需的元素吗?在