public async Task <IMusicDetailGetResponse> GetMusicDetailAsync(IMusicDetailGetRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } if (WebBrowserNavigator.WebBrowser.Address != ChunithmNetUrl.MusicGenre) { await WebBrowserNavigator.LoadAsync(ChunithmNetUrl.MusicGenre); } await WebBrowserNavigator.EvaluatePageMoveScriptAsync($@" var genreSelecter = document.getElementsByName('genre')[0]; genreSelecter.value = 99; formSubmitAddParam('music_genre', 'level_master'); "); await WebBrowserNavigator.EvaluatePageMoveScriptAsync($@" formSubmitAddParam('music_detail', 'musicId_{request.Id}'); "); var responseAsync = MusicDetailGetResponse.CreateResponseAsync(WebBrowserNavigator.WebBrowser); await responseAsync; var response = responseAsync.Result; if (response.Success) { var musicDetailParser = new MusicDetailParser(); response.MusicDetail = musicDetailParser.Parse(response.DocumentText); } return(response); }
public async Task <IMusicDetailGetResponse> GetMusicDetailAsync(IMusicDetailGetRequest request) { if (WebBrowserNavigator.WebBrowser.Url?.AbsoluteUri != ChunithmNetUrl.MusicGenre) { await WebBrowserNavigator.NavigateAsync(ChunithmNetUrl.MusicGenre); } var musicGenre = WebBrowserNavigator.InvokeScriptAsync("formSubmitAddParam", new[] { "music_genre", "level_master" }); await musicGenre; var musicDetail = WebBrowserNavigator.InvokeScriptAsync("formSubmitAddParam", new[] { "music_detail", $"musicId_{request.Id}" }); await musicDetail; var response = new MusicDetailGetResponse(WebBrowserNavigator.WebBrowser); if (response.Success) { var musicDetailParser = new MusicDetailParser(); response.MusicDetail = musicDetailParser.Parse(WebBrowserNavigator.WebBrowser.DocumentText); } return(response); }
public async Task <IMusicDetailGetResponse> GetMusicDetailAsync(IMusicDetailGetRequest request) { var musicDetailContent = new FormUrlEncodedContent(new Dictionary <string, string> { { "idx", request.Id.ToString() }, { "token", token }, }); var musicDetailRequest = client.PostAsync(ChunithmNetUrl.CreateUrl("record/musicGenre/sendMusicDetail"), musicDetailContent); await musicDetailRequest; var musicDetail = client.GetAsync(ChunithmNetUrl.CreateUrl("record/musicDetail")); await musicDetail; var response = new MusicDetailGetResponse(musicDetail.Result); if (response.Success) { var musicDetailParser = new MusicDetailParser(); response.MusicDetail = musicDetailParser.Parse(response.DocumentText); } return(response); }