可能な方法は、宝物をPDDセレンwebdriverをサイト抗登るのサービスを使用してバイパスすることがMitmdump

インストール:mitmproxyをインストールPIP

新しいスクリプトを作成します。

スクリプトコード:

1  から mitmproxy インポートCTX
 2  
3 injected_javascript = ''」は
4  //カスタムゲッター使用する`languages`プロパティを上書き
 5  Object.defineProperty(ナビゲータ、 "言語"、{
 6    関数(){:GET
 7      戻り[" ZHを-CN」、 "ZH"、 "ZH-TW"、 "EN-US"、 "EN"];
 8    }
 9  })。
10  //カスタムゲッターを使用するために、 `plugins`プロパティを上書きします。
11  Object.defineProperty(ナビゲータ、 'プラグイン'、{
 12    GET:()=> [1、2、3、4、5]、
 13  });
  Object.defineProperty(ナビゲーター、 'webdriverを'、{
 16    GET:()=> falseを、
 17  });
18  //クローム試験に合格します。
19は、 我々はテストのために必要があるとして、//私たちは多くの深さでこれを模擬することができます。
20  window.navigator.chrome = {
 21    ランタイム:{}、
 22    //等
 23  }。
24  //は、権限の試験に合格します。
25  CONST originalQuery = window.navigator.permissions.query。
26  window.navigator.permissions.query =(パラメータ)=>(
 27    parameters.name === '通知'?
 28      Promise.resolve({状態:Notification.permission}):
 29     originalQuery(パラメータ)
 30  )。
31  ''」
32   
33  デフ応答(フロー):
 34      のみHTMLコンテンツの200の応答を処理します。
35は     なら ない == 200 flow.response.status_code 36          リターン
37   
38      JavaScriptを含むスクリプトタグを注入します。
39      HTML = flow.response.text
 40      HTML = html.replace(' <HEAD> '' <HEAD> <スクリプト>%S </スクリプト> 'injected_javascript)
 41     = flow.response.text STR(HTML)
 42がある      ctx.log.info(' 挿入成功' 43  

そして、実行mitmdump 

mitmdump -s xxxx.py 

デフォルトは8080で、webdriverをプロキシ127.0.0.1:8080を設定しました

その後、セレンの特性を監視し、変更することができます。

おすすめ

転載: www.cnblogs.com/dayouzi/p/12059102.html