2017-11-28 10 views
2

ちょっとこの簡単なボタンをクリックする方法を理解しようとしていますが、失敗しています。SwiftでJavascriptのボタンをクリックする方法

これは正しいコード実装ですが、javascriptでは間違ったパスです。私は<

または私はちょうどボタン

enter image description here

enter image description here

に接続された機能を呼び出すことができる場合、私はまた、TD <をクリックしようとした上でクリックする必要がありますが、ボタンが実際にはボタンであるためにノーヒングが発生する<

コード:

// no errors print but nothing happens 
self.webView.evaluateJavaScript("document.getElementById('participant-page-results-more').click();"){ (value, error) in 

     if error != nil { 
      print(error!) 
     } 

    } 

UPDATED回答はまだ何も私、@Michael Hulet接近していたと思う:興味深いことに、私は.clickの代わりに.innerTextを使用するときに表示情報をもっと取り戻す

 self.webView.evaluateJavaScript("document.querySelector('#participant-page-results-more').getElementsByTagName('a')[0].click();"){ (value, error) in 
     if error != nil { 
      print(error!) 
     } else { 
     } 
    } 

    // Or 

     self.MainWebView.evaluateJavaScript("document.querySelector('#participant-page-results-more a').click();"){ (value, error) in 
     if error != nil { 
      print(error!) 
     } else { 
     } 
    } 

しかし、ラベル。

UPDATE 2:関数を直接ロードしようと

は、機能を起動するためにはどちらか

self.MainWebView.evaluateJavaScript("window.loadMoreGames();"){ (value, error) in 
     if error != nil { 
      print(error!) 
     } 
    } 

    // Or 

    self.MainWebView.evaluateJavaScript("window[loadMoreGames]"){ (value, error) in 
     if error != nil { 
      print(error!) 
     } 
    } 

    // Or 

    self.MainWebView.evaluateJavaScript("loadMoreGames();"){ (value, error) in 
     if error != nil { 
      print(error!) 
     } 
    } 

答えて

1

何もしません、あなたがリッスン<a>タグ(HTMLタグをクリックする必要がありますクリック数はid)は、<table>タグに表示されます。ここで重要な変更が異なるセレクタ/選択方法であることに注意してください、これを試してみてください。

self.webView.evaluateJavaScript("document.querySelector('#participant-page-results-more a').click();"){ (value, error) in 

    if let err = error { 
     print(err) 
    } 

} 
+0

ダンまだ何もエラーなしあなたがちょうど 'loadMoreGames(呼び出す場合はどうなり – Hunter

+0

)のいずれか'直接の代わりに、曲全体を通過''タグを取得するダンス? –

関連する問題