問題:之前看到一個(gè)回答是因?yàn)閟elenium框架被前段檢測(cè)了,然后用PyQt5制作瀏覽器去實(shí)現(xiàn)爬蟲,我現(xiàn)在也遇到了同樣的問題,但是問題是在我不知道如何用Js的語句去模擬鼠標(biāo)移動(dòng)某個(gè)元素。代碼:from PyQt5.QtWidgets import QApplication
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtCore import QUrlimport pyautoguiimport timeimport sys
app = QApplication([])
view = QWebEngineView()
view.load(QUrl("url"))
view.show()page = view.page()
#a = 0#global a
def test():
page.runJavaScript("$('#account').val(123)") page.runJavaScript("$('#password').val(123)") page.runJavaScript("$('#btn-login').trigger('click')")
time.sleep(1)
# page.runJavaScript("alert($('#distance').html())") page.runJavaScript("$('.smallImg').trigger('click')")
#view.loadFinished.connect(test)
app.exec_()就是需要移動(dòng)一個(gè)class名為smallImg的元素, 上面的輸入和點(diǎn)擊登錄都完成了,現(xiàn)在卡在移動(dòng)那塊。具體的移動(dòng)需要:鼠標(biāo)移動(dòng)到smallImg這個(gè)元素的坐標(biāo),點(diǎn)擊并水平拖動(dòng)一定的距離,然后釋放。具體的移動(dòng)距離可以先不考慮識(shí)別圖片,我可以獲取到需要移動(dòng)的距離。
如何在Python利用runJavaScript模擬鼠標(biāo)移動(dòng)頁面的某個(gè)元素
慕妹3146593
2018-08-17 20:20:18