Угловое обновление IElement

Пожалуйста, кто-нибудь может мне помочь с этой сделкой?

Я пишу приложение автоматизации с AngleSharp.

string sourceBefore = _context.Page.Active.Source.Text;
var fullNameInput = _context.Page.Active.QuerySelector<IHtmlInputElement>("#oauth_signup_client_fullname");
fullNameInput.Value = _user.fullName;
string sourceAfter = _context.Page.Active.Source.Text;

if (sourceBefore == sourceAfter)
{
    Console.WriteLine("without changes");
}
Reload();

var EmailInput = _document.QuerySelector<IHtmlInputElement>("#oauth_signup_client_phone_number");
EmailInput.Value = _user.phoneNumber;

Reload();

string buttonSelector = "#main_content > div.body > form > span.w-button-common.w-button-default > input[type=\"submit\"]";
string formSelector = "#main_content > div.body > form";
var form = _context.Page.Active.QuerySelector<IHtmlFormElement>(formSelector);
form.SubmitAsync(_context.Page.Active.QuerySelector<IHtmlButtonElement>(buttonSelector));

Функция перезагрузки:

private void Reload()
{
    _document = _context.Page.Active;
    chromeChanger.Reload(_document);
}

В целях отладки я использую Selenium с Google Chrome

private class ChromeChanger
{
    IDocument _document;
    ChromeDriver _driver;
    public ChromeChanger(IDocument document, ChromeDriver driver)
    {
        _document = document;
        _driver = driver;
        //document.Source.Text;
        string fullText = _document.Source.Text;

        File.WriteAllText(@"scripts\base.html", fullText);
        var location = new Uri(Assembly.GetEntryAssembly().GetName().CodeBase);
        string path =  Path.GetDirectoryName(location.AbsolutePath + location.Fragment);

        try
        {
            _driver.Navigate().GoToUrl((@"file:///" + path.Replace("\\", "/").Replace("#", "%23") + @"/scripts/base.html"));
        }
        catch (Exception e )
        {
            Console.WriteLine(e.Message); 
        }
        Reload(_document);

    }

    public void Reload(IDocument doc)
    {
        string fullText = doc.Source.Text;

        File.WriteAllText(@"scripts\base.html", fullText);
        _driver.ExecuteScript("location.reload()");
    }
}

Так почему после изменения fullNameInput.Value у меня есть (sourceBefore == sourceAfter)? Как я могу обновить IDocument _context.Page.Active?

0 ответов

Другие вопросы по тегам