private void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { WebBrowser webBrowser = sender as WebBrowser; webBrowser.DocumentCompleted -= WebBrowser_DocumentCompleted; if (webBrowser.Document != null && webBrowser.ReadyState == WebBrowserReadyState.Complete) { DataWebScraperThreadHolder.SetThreadValue(true); } StepWasCompleted?.Invoke(null, null); }
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); }
private void DataWebScraperStepStrategy_StepWasCompleted(object sender, EventArgs e) { DataWebScraperStepStrategy.StepWasCompleted -= DataWebScraperStepStrategy_StepWasCompleted; StepWasCompleted.Invoke(this, new WebBroserInWebScraperStepRunnabelArgument(_webBrowser)); }