废弃使用angular2 +构建的网站

时间:2018-01-10 04:06:19

标签: c# angular winforms web-scraping

我想使用c#删除网站,该网站使用angular2+构建。 我在点击按钮,链接等方面取得了一些成功。 我正在使用winform应用程序并使用browserObject

我的问题是:

在一个地方我必须从下拉菜单中选择一个选项。点击事件。 我已经成功设置了下拉菜单中的值,但我无法点击

我正在使用以下代码:

   var select = browser.Document.GetElementsByTagName("select");

   var foundGIAXXXN = false;
   foreach (HtmlElement s in select)
   {
       if (s.GetAttribute("ng-model") == "savedSearchModel")
       {
           var options = s.Children;
           int optionIndex = -1;
           foreach (HtmlElement o in s.Children)
           {
               optionIndex++;
               if (o.InnerText == "GIAGGGVST")
               {
                   s.Children[optionIndex].SetAttribute("selected", "selected");
                   //o.SetAttribute("selected", "selected");
                   s.SetAttribute("class", "ng-valid ng-touched ng-not-empty ng-dirty ng-valid-parse");
                   foundGIAXXXN = true;
                   break;
               }
           }
       }

       if (foundGIAXXXN)
           break;
   }

   await Sleep(2);


   foreach (HtmlElement b in browser.Document.GetElementsByTagName("button"))
   {
       if (b.GetAttribute("ng-click") == "vm.getSavedFilterBySaveID(savedSearchModel); isLoadSavedOpen = false;")
       {
           b.InvokeMember("click");
       }
   }

1 个答案:

答案 0 :(得分:0)

我得出的结论是,我们无法使用firebase .firestore() .collection("Users") .doc("mydoc") .collection("Activities") .doc("Database") .set({ key: "1", value: "", }) .then((ref) => { console.log(ref) }); 类废弃使用C# WebBrowser构建的网站,或者说很难这样做,因为{{1}在angular2+内无法在用户交互中添加许多类。

现在,我正在使用网站提供的API,这是从网站获取数据的最佳方式。

注意:请勿尝试使用angular废弃使用C#构建的网站