コード例 #1
0
        public void GetAttributeFromHtmlNormalTest1()
        {
            HtmlDataGetter getter = new HtmlDataGetter();

            string[] result = getter.GetAttributeFromHtml(@"https://slash-mochi.net/", "//h1[@id=\"sitename\"]/a/span", "itemprop");
            Assert.AreEqual("name about", result[0]);
        }
コード例 #2
0
        public void GetAttributeFromHtmlNormalTest2()
        {
            HtmlDataGetter getter = new HtmlDataGetter();

            string[] result = getter.GetAttributeFromHtml(@"https://slash-mochi.net/", "//h1[@id=\"sitename\"]/a/img", "width");
            Assert.AreEqual("60", result[0]);
        }
コード例 #3
0
        public void GetDataFromHtmlNormalTest()
        {
            HtmlDataGetter getter = new HtmlDataGetter();

            string[] result = getter.GetDataFromHtml(@"https://slash-mochi.net/", "//h1[@id=\"sitename\"]/a/span");
            Assert.AreEqual("// もちぶろ", result[0]);
        }
コード例 #4
0
        private async void ExecuteStartCommand()
        {
            IsStartButtonEnabled = false;
            var webScraper = new HtmlDataGetter();
            var progress   = new Progress <HtmlData>((result) =>
            {
                switch (result.Result)
                {
                case HtmlDataGetterResult.Success:
                    break;

                case HtmlDataGetterResult.FinalDataSuccess:
                    IsStartButtonEnabled = true;
                    break;

                default:
                    return;
                }

                Result.AddRange(result.Data);
            });
            var cancelSrc = new CancellationTokenSource();

            try
            {
                await webScraper.GetDataFromHtmlAsync(
                    _urlList,
                    XPath,
                    progress,
                    cancelSrc.Token
                    );
            }
            catch (OperationCanceledException)
            {
                IsStartButtonEnabled = true;
                return;
            }
        }