Example #1
0
        private void Say_Button_Click(object sender, RoutedEventArgs e)
        {
            TrySendVoice();

            var selectedText = TextToSay_TextBox.SelectedText;


            if (installedVoices.Count() == 0)
            {
                return;
            }

            var selectedVoice = installedVoices.First(x => x.VoiceInfo.Name.Replace("Microsoft Server Speech Text to Speech Voice ", "").Replace(")", "").Replace("(", "") == (string)Voices_ComboBox.SelectedValue).VoiceInfo.Name;//.Replace("Microsoft Server Speech Text to Speech Voice ", "")

            synth.SelectVoice(selectedVoice);
            synth.Rate   = (int)Rate_Slider.Value;
            synth.Volume = (int)Volume_Slider.Value;

            synth.SetOutputToDefaultAudioDevice();

            if (selectedText == "")
            {
                synth.SpeakAsync(TextToSay_TextBox.Text);
            }
            else
            {
                synth.SpeakAsync(selectedText);
            }
        }
Example #2
0
        private PatternMatchRuleProcessor(System.Collections.ObjectModel.ReadOnlyCollection <PatternMatchRule> rules)
        {
            Debug.Assert(rules.Count() != 0, "At least one PatternMatchRule is required");
            Debug.Assert(rules.Where(r => r == null).Count() == 0, "Individual PatternMatchRules must not be null");

            this.ruleSet = rules;
        }
Example #3
0
        private MKPolygon GeoJsonPolygonToPolygon(Polygon geoJsonPolygon)
        {
            System.Collections.ObjectModel.ReadOnlyCollection <LineString> coords = geoJsonPolygon?.Coordinates;
            if (coords == null || coords.Count() == 0)
            {
                return(null);
            }

            LineString outer = coords.FirstOrDefault();
            IEnumerable <LineString> inner = coords.Count > 1 ? coords.Skip(1) : null;

            var outerCoordinates = new List <CLLocationCoordinate2D>();

            foreach (IPosition coordinate in outer.Coordinates)
            {
                outerCoordinates.Add(new CLLocationCoordinate2D(coordinate.Latitude, coordinate.Longitude));
            }

            var innerPolygons = new List <MKPolygon>();

            if (inner != null)
            {
                foreach (LineString linestring in inner)
                {
                    var innerCoordinates = new List <CLLocationCoordinate2D>();
                    foreach (IPosition coordinate in linestring.Coordinates)
                    {
                        innerCoordinates.Add(new CLLocationCoordinate2D(coordinate.Latitude, coordinate.Longitude));
                    }
                    innerPolygons.Add(MKPolygon.FromCoordinates(innerCoordinates.ToArray()));
                }
            }
            return(MKPolygon.FromCoordinates(outerCoordinates.ToArray(), innerPolygons.ToArray()));
        }
Example #4
0
        private PolygonOptions GeoJsonPolygonToPolygon(GPolygon geoJsonPolygon)
        {
            System.Collections.ObjectModel.ReadOnlyCollection <LineString> coords = geoJsonPolygon?.Coordinates;
            if (coords == null || coords.Count() == 0)
            {
                return(null);
            }

            PolygonOptions polygonOptions = GetPolygonOptions();

            LineString outer = coords.FirstOrDefault();
            IEnumerable <LineString> inner = coords.Count > 1 ? coords.Skip(1) : null;

            foreach (IPosition coordinate in outer.Coordinates)
            {
                polygonOptions.Add(new LatLng(coordinate.Latitude, coordinate.Longitude));
            }

            if (inner != null)
            {
                foreach (LineString linestring in inner)
                {
                    var holes = linestring.Coordinates.Select(coordinate => new LatLng(coordinate.Latitude, coordinate.Longitude)).ToList();
                    polygonOptions.Holes.Add(holes.ToJavaList());
                }
            }

            return(polygonOptions);
        }
Example #5
0
        static void Main(string[] args)
        {
            var options = new ChromeOptions();

            options.AddArguments("--disable-gpu");
            options.AddArguments("disable-popup-blocking");

            var chromeDriver = new ChromeDriver("C:\\Users\\klync\\Source\\Repos\\XPathTest\\XPathTest", options);

            chromeDriver.Navigate().GoToUrl("https://login.yahoo.com/");
            chromeDriver.Manage().Window.Maximize();

            chromeDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
            chromeDriver.FindElement(By.Id("login-username")).SendKeys("" + Keys.Enter);

            chromeDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
            chromeDriver.FindElement(By.Id("login-passwd")).SendKeys("" + Keys.Enter);

            chromeDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
            chromeDriver.Url = ("https://finance.yahoo.com/portfolio/p_0/view/v1");

            IWebElement list = chromeDriver.FindElementByTagName("tbody");

            System.Collections.ObjectModel.ReadOnlyCollection <IWebElement> stocks = list.FindElements(By.TagName("tr"));
            int count = stocks.Count();

            //Console.WriteLine("Info on stocks in Katelynn's Portfolio: " + stocks.Count);

            for (int i = 1; i <= count; i++)
            {
                chromeDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
                var symbol = chromeDriver.FindElementByXPath("//*[@id=\"pf-detail-table\"]/div[1]/table/tbody/tr[" + i + "]/td[1]").GetAttribute("innerText");

                Console.WriteLine(symbol);
            }
            Console.WriteLine("\n");

            chromeDriver.Close();
        }
Example #6
0
        static void Main(string[] args)
        {
            var options = new ChromeOptions();

            //options.AddArgument("--headless");
            options.AddArguments("--disable-gpu");
            options.AddArguments("disable-popup-blocking");//to disable pop-up blocking

            var chromeDriver = new ChromeDriver(options);

            chromeDriver.Navigate().GoToUrl("https://login.yahoo.com/");
            Console.WriteLine("In Yahoo home page");
            chromeDriver.Manage().Window.Maximize();

            chromeDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
            chromeDriver.FindElementById("login-username").SendKeys("*****@*****.**");
            chromeDriver.FindElementById("login-signin").Click();

            chromeDriver.FindElementById("login-passwd").SendKeys("@nuk1978");
            chromeDriver.FindElementById("login-signin").Click();

            chromeDriver.Url = "https://finance.yahoo.com/portfolio/p_1/view/v1";
            Console.WriteLine("In yahoo finance page");

            /*
             *
             * var closePopup = chromeDriver.FindElementByXPath("//dialog[@id = '__dialog']/section/button");
             * closePopup.Click();
             * var items = chromeDriver.FindElementsByXPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[*]/td[*]");
             *
             * foreach(var item in items)
             * {
             *  Console.WriteLine("My WatchList: " + item.Text);
             * }
             */



            //var closePopup = chromeDriver.FindElementByXPath("//*[@id=\"fin - tradeit\"]/div[2]/div");
            var closePopup = chromeDriver.FindElementByXPath("//dialog[@id = '__dialog']/section/button");

            closePopup.Click();
            //var items = chromeDriver.FindElementsByXPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[*]/td[*]/span/a").GetAttribute;
            IWebElement list = chromeDriver.FindElementByTagName("tbody");

            System.Collections.ObjectModel.ReadOnlyCollection <IWebElement> items = list.FindElements(By.TagName("tr"));
            int          count  = items.Count();
            List <Stock> result = new List <Stock>();

            Console.WriteLine(count);
            //loop to get details of each stock symbol
            for (int i = 1; i <= count; i++)
            {
                Console.WriteLine(i);
                var symbol        = chromeDriver.FindElementByXPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[1]/span/a").GetAttribute("innerText");
                var lastprice     = chromeDriver.FindElementByXPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[2]/span").GetAttribute("innerText");
                var change        = chromeDriver.FindElementByXPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[3]/span").GetAttribute("innerText");
                var percentChange = chromeDriver.FindElementByXPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[4]/span").GetAttribute("innerText");
                var currency      = chromeDriver.FindElementByXPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[5]").GetAttribute("innerText");
                var avgVolume     = chromeDriver.FindElementByXPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[9]").GetAttribute("innerText");
                var marketCap     = chromeDriver.FindElementByXPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[13]/span").GetAttribute("innerText");

                Stock stock = new Stock();
                Console.WriteLine(symbol);
                stock.Symbol = symbol;
                Console.WriteLine(lastprice);
                stock.Price = Decimal.Parse(lastprice);
                Console.WriteLine(change);
                stock.Change = Decimal.Parse(change);
                Console.WriteLine(percentChange);
                stock.PercentChange = Decimal.Parse(percentChange.Trim('%'));
                Console.WriteLine(currency);
                stock.Currency = currency;
                Console.WriteLine(avgVolume);
                stock.AverageVolume = avgVolume;
                Console.WriteLine(marketCap);
                stock.MarketCap = marketCap;


                //result.Add(stock);

                //chromeDriver.Close();
            }
        }
        public List <Stock> Scrape()
        {
            // Add --headless to options
            var options = new ChromeOptions();

            options.AddArguments("--headless");
            options.AddArguments("--disable-gpu");
            options.AddArguments("disable-popup-blocking");

            // Initial new ChromeDriver and navigate to Yahoo URL
            var chromeDriver = new ChromeDriver("C:\\Users\\Sreenath\\source\\repos\\WebScraperwithASP_NET", options);

            chromeDriver.Navigate().GoToUrl("https://login.yahoo.com");
            chromeDriver.Manage().Window.Maximize();

            chromeDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);

            // Input username and click on Next
            chromeDriver.FindElementById("login-username").SendKeys("*****@*****.**");
            chromeDriver.FindElementById("login-signin").Click();

            // Input password and click on submit
            chromeDriver.FindElementById("login-passwd").SendKeys("Careerdevs");
            chromeDriver.FindElementById("login-signin").Click();


            // After password verification navigate to Yahoo portfolio page

            //chromeDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
            chromeDriver.Url = "https://finance.yahoo.com/portfolio/p_0/view/v1";

            //var closePopup = chromeDriver.FindElementByXPath("//dialog[@id = '__dialog']/section/button");
            //closePopup.Click();

            //var stocks = chromeDriver.FindElements(By.XPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[*]/td[*]"));
            //foreach (var stock in stocks)
            //    Console.WriteLine(stock.Text);

            IWebElement list = chromeDriver.FindElementByTagName("tbody");

            System.Collections.ObjectModel.ReadOnlyCollection <IWebElement> stocks = list.FindElements(By.TagName("tr"));
            int count = stocks.Count();

            List <Stock> stockList = new List <Stock>();

            for (int i = 1; i <= count; i++)
            {
                var symbol        = chromeDriver.FindElementByXPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[1]/span/a").GetAttribute("innerText");
                var lastPrice     = chromeDriver.FindElementByXPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[2]/span").GetAttribute("innerText");
                var change        = chromeDriver.FindElementByXPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[3]/span").GetAttribute("innerText");
                var percentChange = chromeDriver.FindElementByXPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[4]/span").GetAttribute("innerText");
                var currency      = chromeDriver.FindElementByXPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[5]").GetAttribute("innerText");
                var marketCap     = chromeDriver.FindElementByXPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[13]/span").GetAttribute("innerText");

                Stock stock = new Stock();
                stock.Symbol        = symbol;
                stock.LastPrice     = lastPrice;
                stock.Change        = change;
                stock.PercentChange = percentChange;
                stock.Currency      = currency;
                stock.MarketCap     = marketCap;

                stockList.Add(stock);
            }
            chromeDriver.Quit();
            return(stockList);
        }
Example #8
0
        public List <Stock> Scrape()
        {
            var options = new ChromeOptions();

            options.AddArguments("--headless");
            options.AddArguments("--disable-gpu");
            options.AddArguments("--window-size=1980,1080");

            IWebDriver chromeDriver = new ChromeDriver("C:\\Users\\klync\\Source\\Repos\\FinanceScraper");

            // fixing timing issues //
            //WebDriverWait wait = new WebDriverWait(chromeDriver, TimeSpan.FromSeconds(5));

            chromeDriver.Navigate().GoToUrl("https://login.yahoo.com");
            chromeDriver.Manage().Window.Maximize();

            chromeDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);

            chromeDriver.FindElement(By.Id("login-username")).SendKeys("" + Keys.Enter);
            chromeDriver.FindElement(By.Id("login-passwd")).SendKeys("" + Keys.Enter);

            chromeDriver.Url = "https://finance.yahoo.com/portfolio/p_0/view/v1";

            IWebElement list = chromeDriver.FindElement(By.TagName("tbody"));

            System.Collections.ObjectModel.ReadOnlyCollection <IWebElement> stocks = list.FindElements(By.TagName("tr"));
            int count;

            count = stocks.Count();

            List <Stock> stockList = new List <Stock>();

            for (int i = 1; i <= count; i++)
            {
                var symbol    = chromeDriver.FindElement(By.XPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[1]/span/a")).GetAttribute("innerText");
                var lastPrice = chromeDriver.FindElement(By.XPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[2]/span")).GetAttribute("innerText");
                var change    = chromeDriver.FindElement(By.XPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[3]/span")).GetAttribute("innerText");
                var pChange   = chromeDriver.FindElement(By.XPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[4]/span")).GetAttribute("innerText");
                var currency  = chromeDriver.FindElement(By.XPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[5]")).GetAttribute("innerText");
                var volume    = chromeDriver.FindElement(By.XPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[7]/span")).GetAttribute("innerText");
                var aVolume   = chromeDriver.FindElement(By.XPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[9]")).GetAttribute("innerText");
                var marketCap = chromeDriver.FindElement(By.XPath("//*[@id=\"main\"]/section/section[2]/div[2]/table/tbody/tr[" + i + "]/td[13]/span")).GetAttribute("innerText");


                Stock stock = new Stock();
                Console.WriteLine(symbol);
                stock.Symbol = symbol;
                Console.WriteLine(lastPrice);
                stock.LastPrice = lastPrice;
                Console.WriteLine(change);
                stock.Change = change;
                Console.WriteLine(pChange);
                stock.PChange = pChange;
                Console.WriteLine(currency);
                stock.Currency = currency;
                Console.WriteLine(volume);
                stock.Volume = volume;
                Console.WriteLine(aVolume);
                stock.AVolume = aVolume;
                Console.WriteLine(marketCap);
                stock.MarketCap = marketCap;

                Console.WriteLine(stock);
                stockList.Add(stock);
            }
            return(stockList);
        }