конвертировать массив из javascript в c#

109
24 ноября 2020, 15:30

В проекте на c# использую скипт JS для сбора ссылочек. Сам скрипт на js:

const items = window.document.querySelectorAll('someThing');
const res = [];
items.forEach(function(item)
{
    const str = item.querySelector('a');
    res.push(str.href);
})
return res;

Используется драйвер селениума:

IWebDriver driver;
IJavaScriptExecutor js = (IJavaScriptExecutor)driver; 

пытался сделать что-то подобное, но оно не конвертит в лист стринг

List<string> title = (List<string>)js.ExecuteScript("script");

Как получить массив собранных ссылочек из Javascript в проекте C#?

Answer 1

решил проблему следующим образом:

IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
object result = js.ExecuteScript("some script");
ReadOnlyCollection<object> list = (ReadOnlyCollection<object>)result;
foreach (object elem in list)
{
  _listLinks.Add((string)elem;
}
File.WriteAllLines("C:\\file.txt", _listLinks);

Мой js возвращает по сути массив, поэтому я беру ридонли коллекцию. Если бы возвращало что-то "одиночное" (цифра, строка), то, думаю, можно было бы просто object

READ ALSO
ASP.NET Core SignalR. Ошибка подключения

ASP.NET Core SignalR. Ошибка подключения

Всем приветМожет быть я и задаю много вопросов

119
Выборка в mySQL по нескольким параметрам

Выборка в mySQL по нескольким параметрам

Голову сломал, поэтому, прошу помощиСуть вопроса: есть таблица table, в которой хранятся объявления

79
вывести pdf фалй полученный по curl

вывести pdf фалй полученный по curl

как вывести на страницу pdf файл полученный по curl через обращение на api ? если вывести print_r result То ничего нет , как убедится что файл получен ?

96
LiveChatMessages API YouTube возвращает null

LiveChatMessages API YouTube возвращает null

Пытаюсь получить сообщения с чата прямой трансляции с помощью GET-запроса

84