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捕獲所需的元素嗎?在