2
ChromeリモートデバッグとC#を使用して の目標をアーカイブしようとしています。 ブラウザウィンドウをリモートで制御する小さなアプリケーションを作成しています。現在、プロトタイプ はブラウザと接続し、利用可能なページのリストを取得し、 WebSocket接続を確立します。Chrome DevTools:リモートDOMの変更
- スタートchrome.exe --remote-デバッグポート= 9123
コネクWSへ:// localhostを:9123 /デベロッパーツール/ページ/ 1および送信:
request: { "id": 1, "method": "DOM.setOuterHTML", "params": {"nodeId": 1, "outerHTML": ""}}
間違っていますが、エラーは返されません。
コード:
byte[] dataBuffer = Encoding.UTF8.GetBytes(data);
_wsStream.WriteByte(0x00);
_wsStream.Write(dataBuffer, 0, dataBuffer.Length);
_wsStream.WriteByte(0xff);
そして読書を返すことはありません:
private void Message() // started in different thread
{
while (_readyState == WsState.Open)
{
string data = Receive(); // does _wsStream.ReadByte(); and stops on it forever
var handler = OnMessage;
if (null != handler && data != null)
handler(this, data);
}
}
コマンドで私を助けてもらえたデータは、WebSocketをストリームに送信しているどのように
var client = new WebClient();
var pages = client.DownloadString("http://localhost:9123/json");
Console.WriteLine(pages); // works well, displays JSON with info about pages
// create WebSocket
var socket = new WebSockets.WebSocket("ws://localhost:9123/devtools/page/1");
// it should print messages to console:
socket.OnMessage += (sender, eventdata) => Console.WriteLine(eventdata);
// works well - sends and recieves handshaking messages
socket.Connect();
Console.WriteLine("\nType \"exit\" to exit.\n");
string data;
while (true)
{
Thread.Sleep(500);
Console.Write("> ");
data = Console.ReadLine();
if (data == "exit")
break;
// sends data:
socket.Send(data);
}
構文とトラブルシューティング 問題...
のおかげで、
アレックス