Update glossary support #1

Merged
Androz2091 merged 9 commits from KaKi87/deepl-scraper:glossary-v2 into glossary-v2 2021-03-18 17:13:53 +01:00
Showing only changes of commit 2f356bd5ea - Show all commits

View file

@ -114,22 +114,15 @@ module.exports = {
await page.waitForSelector(langSelect, { visible: true }); await page.waitForSelector(langSelect, { visible: true });
await page.click(langSelect); await page.click(langSelect);
try { try {
await page.evaluate(({ for(const button of await page.$$('button[dl-test=glossary-newentry-lang-dropdown-option]')){
sourceLanguage, const
targetLanguage _sourceLanguage = await (await (await button.$('.langCode')).getProperty('textContent')).jsonValue(),
}) => { _targetLanguage = await (await (await button.$('.langCode:nth-of-type(2)')).getProperty('textContent')).jsonValue();
const langButtons = Array.from(document.querySelectorAll('button[dl-test=glossary-newentry-lang-dropdown-option]')); if(sourceLanguage === _sourceLanguage && targetLanguage === _targetLanguage){
const button = langButtons.find((btn) => { await button.click();
const childrens = Array.from(Array.from(btn.children)[1].children); break;
const buttonSourceLanguage = childrens[0].textContent; }
const buttonTargetLanguage = childrens[2].textContent; }
return buttonSourceLanguage === sourceLanguage && buttonTargetLanguage === targetLanguage;
});
button.click();
}, {
sourceLanguage,
targetLanguage
});
} }
catch(_){ catch(_){
throw new Error('UNSUPPORTED_GLOSSARY_LANGUAGE'); throw new Error('UNSUPPORTED_GLOSSARY_LANGUAGE');