2017-03-11 103 views
1

我試圖通過實施phantomJs自動下載在我的WordPress網站的插件。出於某種原因,我似乎訪問不能下載按鈕(如下圖所示) ​​如何訪問和點擊按鈕PhantomJS

這是HTML代碼的圖像(域敏感信息模糊出於安全目的)

enter image description here 到目前爲止,我通過使用下面的代碼已經嘗試訪問該元素:

function() { 
page.evaluate(function() { 
    let mainLink = document.querySelector('a[data-slug="better-wp-security"]') 
    mainLink.click() 
    }) 
} 

有些事情要提:

  • 這個功能,因爲它是一個較大的文件的一部分,將不會執行,直到頁面加載完成。
  • PhantomJS正在執行正確,沒有權限問題
  • 該腳本事先已正確訪問安裝插件頁面,我通過在嘗試點擊前捕獲截圖進行了驗證。
  • 我剛纔定義click詮釋他的文件,它完美的作品。

任何想法我怎麼能做到這一點?謝謝大家!

添加的信息: 看來,如果從主div元素的路徑如下:

#the-list .plugin-card plugin-card-better-wp-security .plugin-card-top .action-links .plugin-action-buttons .install-now button 

我想解決這個問題,有事情做與此序列。

+0

我不知道最後有什麼不對? – Vaviloff

+0

@Vaviloff出於某種原因,PhantomJS無法找到具有指定數據塊的元素。我所要做的就是找到按鈕,以便我可以點擊它。 – Ethan

回答

0

我能夠通過data-slug屬性後,現在要去,但href元素本身之後,而要做到這一點。雖然我不能產生自己wponce值,而不使用REST API的,我是能夠搜索的文檔找到一個href包含URL的某些部分。這是下面的最終代碼:

document.querySelector('a[href*="action=install-plugin&plugin=better-wp-security"]').click() 

就是這樣!簡單而簡單!