Задача состоит в получении ответа, используя IJavaScriptExecutor и метод $.postJson() Реализация следующая. Имеется класс:
class ExecuteJavaScript
{
public IWebDriver driver;
public ExecuteJavaScript(IWebDriver driver) => this.driver = driver;
public object Execute(string endPoint, string data)
{
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
return (js.ExecuteAsyncScript("$.postJSON('" + endPoint + "', " + data + ")"));
}
}
И его вызов:
string url = "http://...";
var data = SomeClass.GetBodyObject;
string body = JsonConvert.SerializeObject(data);
var response = new ExecuteJavaScript(driver).Execute(url, body);
Запрос выполняется отлично, делает все что нужно. Однако ответа никакого не приходит. Хотя в ответе тоже должен быть Json. Если сделать этот же реквест с использованием HttpClient или HttpWebRequest то ответ от сервера приходит корректный. Но мне необходимо отправлять запрос непосредственно через браузер средствами Селениума.
Может у кого найдется решение проблемы, заранее спасибо.
Продвижение своими сайтами как стратегия роста и независимости