В настоящее время я пытаюсь автоматизировать экспорт любимых gif-файлов Discord.
У меня есть этот фрагмент:
window.FrecencyUserSettings ??= webpackChunkdiscord_app.push([[Symbol()],,e=>Object.values(e.c).values().map(m=>m.exports).filter(x=>typeof x=="object"&&x!=window&&x!=DOMTokenList.prototype).flatMap(x=>[x,...Object.values(x)]).find(x=>!x?.$$loader&&x?.ProtoClass?.typeName?.endsWith(".FrecencyUserSettings"))]);
function downloadJSON(content, download) {
const json = JSON.stringify(content, null, 2);
Object.assign(document.createElement("a"), {
href: URL.createObjectURL(new Blob([json], { type: "application/json" })),
download
}).click();
}
FrecencyUserSettings.loadIfNecessary();
downloadJSON(FrecencyUserSettings.getCurrentValue().favoriteGifs.gifs, "discord-favorite-gifs.json");
Он отлично работает в консоли браузера, но когда я запускаю его через Selenium, я получаю следующую ошибку:
Необработанное исключение. OpenQA.Selenium.JavaScriptException: TypeError: невозможно получить доступ к свойству "gifs", FrecencyUserSettings.getCurrentValue().favoriteGifs не определено
Вот мой код C# для автоматизации браузера:
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
namespace exportGifs;
class Program {
static void Main(string[] args) {
IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("https://discord.com/app");
Console.WriteLine("please sign into discord, press enter when you've done so");
while (Console.ReadKey(intercept: true).Key != ConsoleKey.Enter) {
}
IJavaScriptExecutor javaScriptExecutor = (IJavaScriptExecutor)driver;
var script = File.ReadAllText("gifs.js");
if (driver.Url == "https://discord.com/channels/@me") {
javaScriptExecutor.ExecuteScript(script);
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... n-selenium
Фрагмент JS работает в консоли браузера, но не в селене ⇐ C#
Место общения программистов C#
-
Anonymous
1770252833
Anonymous
В настоящее время я пытаюсь автоматизировать экспорт любимых gif-файлов Discord.
У меня есть этот фрагмент:
window.FrecencyUserSettings ??= webpackChunkdiscord_app.push([[Symbol()],,e=>Object.values(e.c).values().map(m=>m.exports).filter(x=>typeof x=="object"&&x!=window&&x!=DOMTokenList.prototype).flatMap(x=>[x,...Object.values(x)]).find(x=>!x?.$$loader&&x?.ProtoClass?.typeName?.endsWith(".FrecencyUserSettings"))]);
function downloadJSON(content, download) {
const json = JSON.stringify(content, null, 2);
Object.assign(document.createElement("a"), {
href: URL.createObjectURL(new Blob([json], { type: "application/json" })),
download
}).click();
}
FrecencyUserSettings.loadIfNecessary();
downloadJSON(FrecencyUserSettings.getCurrentValue().favoriteGifs.gifs, "discord-favorite-gifs.json");
Он отлично работает в консоли браузера, но когда я запускаю его через Selenium, я получаю следующую ошибку:
Необработанное исключение. OpenQA.Selenium.JavaScriptException: TypeError: невозможно получить доступ к свойству "gifs", FrecencyUserSettings.getCurrentValue().favoriteGifs не определено
Вот мой код C# для автоматизации браузера:
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
namespace exportGifs;
class Program {
static void Main(string[] args) {
IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("https://discord.com/app");
Console.WriteLine("please sign into discord, press enter when you've done so");
while (Console.ReadKey(intercept: true).Key != ConsoleKey.Enter) {
}
IJavaScriptExecutor javaScriptExecutor = (IJavaScriptExecutor)driver;
var script = File.ReadAllText("gifs.js");
if (driver.Url == "https://discord.com/channels/@me") {
javaScriptExecutor.ExecuteScript(script);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79880014/js-snippet-works-in-browser-console-but-not-in-selenium[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия