В проекте на 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#?
решил проблему следующим образом:
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
Сборка персонального компьютера от Artline: умный выбор для современных пользователей