public void Execute(WebBrowser webBrowser, IEnumerable <IDataWebScraperStepProperty> dataWebScraperStepProperties) { IEnumerable <IDataWebScraperStepProperty> attributeToFindElementByProperties = DataWebScrapperStepPropertyValidator.GetAllProperties(DataWebScraperStepPropertyType.AttributeToFindElementBy, dataWebScraperStepProperties); IEnumerable <IDataWebScraperStepProperty> attributeToSetInElementProperties = DataWebScrapperStepPropertyValidator.GetAllProperties(DataWebScraperStepPropertyType.AttributeToSetInElement, dataWebScraperStepProperties); DataWebScrapperStepPropertyValidator.ValidatePropertiesValueNotEmpty(attributeToFindElementByProperties); DataWebScrapperStepPropertyValidator.ValidatePropertiesValueNotEmpty(attributeToSetInElementProperties); HtmlElement htmlElement = DataWebScraperElementFinder.FindElement(attributeToFindElementByProperties, webBrowser); foreach (IDataWebScraperStepProperty dataWebScraperStepProperty in attributeToSetInElementProperties) { htmlElement.SetAttribute(dataWebScraperStepProperty.Key, dataWebScraperStepProperty.Value); } StepWasCompleted?.Invoke(this, null); }
public void Execute(WebBrowser webBrowser, IEnumerable <IDataWebScraperStepProperty> dataWebScraperStepProperties) { IDataWebScraperStepProperty urlProperty = DataWebScrapperStepPropertyValidator.GetFirstProperty(DataWebScraperStepPropertyType.Url, dataWebScraperStepProperties); IDataWebScraperStepProperty millisecondsToHoldProperty = DataWebScrapperStepPropertyValidator.GetFirstProperty(DataWebScraperStepPropertyType.MillisecondsToHold, dataWebScraperStepProperties); DataWebScrapperStepPropertyValidator.ValidatePropertyValueNotEmpty(urlProperty); DataWebScrapperStepPropertyValidator.ValidatePropertyValueNumericNotZero(millisecondsToHoldProperty); DataWebScraperThreadHolder = ThreadHolderManagerFactory.GetDataWebScraperThreadHolder(long.Parse(millisecondsToHoldProperty.Value)); DataWebScraperThreadHolder.SetThreadValue(false); try { webBrowser.DocumentCompleted += WebBrowser_DocumentCompleted; webBrowser.Navigate(urlProperty.Value); //DataWebScraperThreadHolder.WaitUntilValue(true); }catch (Exception e) { string r = e.Message; } }
internal SetAttributeOnElementDataWebScraperStepStrategy(DataWebScrapperStepPropertyValidator dataWebScrapperStepPropertyValidator, DataWebScraperElementFinder dataWebScraperElementFinder) { DataWebScrapperStepPropertyValidator = dataWebScrapperStepPropertyValidator; DataWebScraperElementFinder = dataWebScraperElementFinder; }
public SetAttributeOnElementDataWebScraperStepStrategy() { DataWebScrapperStepPropertyValidator = new DataWebScrapperStepPropertyValidator(); DataWebScraperElementFinder = new DataWebScraperElementFinder(); }
internal LoadWebPageDataWebScraperStepStrategy(DataWebScrapperStepPropertyValidator dataWebScrapperStepPropertyValidator, ThreadHolderManagerFactory threadHolderManagerFactory) { DataWebScrapperStepPropertyValidator = dataWebScrapperStepPropertyValidator; ThreadHolderManagerFactory = threadHolderManagerFactory; }
public LoadWebPageDataWebScraperStepStrategy() { DataWebScrapperStepPropertyValidator = new DataWebScrapperStepPropertyValidator(); ThreadHolderManagerFactory = new ThreadHolderManagerFactory(); }