Нажатие кнопки CefSharp - PullRequest
       11

Нажатие кнопки CefSharp

0 голосов
/ 11 марта 2020

У меня проблема с нажатием кнопки на веб-странице в браузере CefSharp.

  • WinForms + CefSharp Browser
  • Я загружаю страницу (Twitter) в браузер CefSharp
  • Я загружаю источник HTML из браузера CefSharp в HtmlAgilityPack
  • Я нахожу кнопки с помощью HtmlAgilityPack

И вот где я застрял, я не смог написать правильный JS скрипт для выполнения щелчков.

Dim WebDoc As New HtmlDocument
WebDoc.LoadHtml(HTMLSource)

Dim TweetList As HtmlNodeCollection = WebDoc.DocumentNode.SelectNodes("//section[@aria-labelledby='accessible-list-1']//div[@data-testid='tweet']")

Dim ListofButtons As New List(Of HtmlNode)
For Each Tweet In TweetList
    ListofButtons.Add(Tweet.SelectSingleNode(".//div[@role='button']"))
Next
For Each Button In ListofButtons
    'As I understand I need to call Browser.ExecuteScriptAsync("button.click();")
Next

Я пробовал несколько разных вещей, которые я нашел в Интернете, но они не работали, и все учебники с идентификаторами и именами классов, ни одно из которых я можно использовать в этом случае.

1 Ответ

0 голосов
/ 31 марта 2020

Как я это сделал:

Browser.EvaluateScriptAsync("document.querySelectorAll(""section[aria-labelledby='accessible-list-1'] div[data-testid='tweet'] div[role='button'])"").forEach(button=>button.click())")
...