Random errors with japanese #2

Open
opened 2020-09-03 13:50:20 +02:00 by DonGulli · 10 comments

It seems like I'm having trouble translating some things into japanese with this scraper.
Otherwise it's pretty solid! Great work :)

Here are some related error log lines:

I hope they may help :)

Got translation: ja-JA for: ui_stats_option | 統計情報
Got translation: ja-JA for: ui_stats_option_0 | なし
Got translation: ja-JA for: ui_stats_option_1 | エフピーエス
(node:15184) UnhandledPromiseRejectionWarning: Error: No node found for selector: .lmt__source_textarea
at assert (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:279:11)
at DOMWorld.type (D:\MYPROJECT\node_modules\puppeteer\lib\DOMWorld.js:421:5)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:3)
-- ASYNC --
at Frame. (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:111:15)
at Page.type (D:\MYPROJECT\node_modules\puppeteer\lib\Page.js:1076:29)
at translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:14)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:93:5)
(node:15184) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 49)
Got translation: ja-JA for: ui_stats_option_2 | エムエス
(node:15184) UnhandledPromiseRejectionWarning: Error: No node found for selector: .lmt__source_textarea
at assert (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:279:11)
at DOMWorld.type (D:\MYPROJECT\node_modules\puppeteer\lib\DOMWorld.js:421:5)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:3)
-- ASYNC --
at Frame. (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:111:15)
at Page.type (D:\MYPROJECT\node_modules\puppeteer\lib\Page.js:1076:29)
at translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:14)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:93:5)
(node:15184) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 50)
(node:15184) UnhandledPromiseRejectionWarning: Error: No node found for selector: .lmt__source_textarea
at assert (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:279:11)
at DOMWorld.type (D:\MYPROJECT\node_modules\puppeteer\lib\DOMWorld.js:421:5)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:3)
-- ASYNC --
at Frame. (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:111:15)
at Page.type (D:\MYPROJECT\node_modules\puppeteer\lib\Page.js:1076:29)
at translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:14)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:93:5)
(node:15184) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 51)
Got translation: ja-JA for: ui_shader_quality_1 | 低
(node:15184) UnhandledPromiseRejectionWarning: Error: No node found for selector: .lmt__source_textarea
at assert (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:279:11)
at DOMWorld.type (D:\MYPROJECT\node_modules\puppeteer\lib\DOMWorld.js:421:5)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:3)
-- ASYNC --
at Frame. (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:111:15)
at Page.type (D:\MYPROJECT\node_modules\puppeteer\lib\Page.js:1076:29)
at translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:14)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:93:5)
(node:15184) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 52)
Got translation: ja-JA for: ui_shader_quality_3 | 高
(node:15184) UnhandledPromiseRejectionWarning: Error: No node found for selector: .lmt__source_textarea
at assert (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:279:11)
at DOMWorld.type (D:\MYPROJECT\node_modules\puppeteer\lib\DOMWorld.js:421:5)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:3)
-- ASYNC --
at Frame. (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:111:15)
at Page.type (D:\MYPROJECT\node_modules\puppeteer\lib\Page.js:1076:29)
at translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:14)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:93:5)
(node:15184) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 53)
Got translation: ja-JA for: ui_tunnel_inner_radius | トンネルサイズ
Got translation: ja-JA for: ui_user_color_a | メインカラー
Got translation: ja-JA for: ui_user_color_b | 2色目
Got translation: ja-JA for: ui_value_smoothing | 値の平滑化
Got translation: ja-JA for: ui_zoom_val | スピード

Example strings that seem to cause errors in this case:

translate("Mittel", "de-de", "ja-JA").then(...

It seems like I'm having trouble translating some things into japanese with this scraper. Otherwise it's pretty solid! Great work :) Here are some related error log lines: I hope they may help :) Got translation: ja-JA for: ui_stats_option | 統計情報 Got translation: ja-JA for: ui_stats_option_0 | なし Got translation: ja-JA for: ui_stats_option_1 | エフピーエス (node:15184) UnhandledPromiseRejectionWarning: Error: No node found for selector: .lmt__source_textarea at assert (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:279:11) at DOMWorld.type (D:\MYPROJECT\node_modules\puppeteer\lib\DOMWorld.js:421:5) at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:93:5) at async translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:3) -- ASYNC -- at Frame.<anonymous> (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:111:15) at Page.type (D:\MYPROJECT\node_modules\puppeteer\lib\Page.js:1076:29) at translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:14) at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:93:5) (node:15184) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 49) Got translation: ja-JA for: ui_stats_option_2 | エムエス (node:15184) UnhandledPromiseRejectionWarning: Error: No node found for selector: .lmt__source_textarea at assert (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:279:11) at DOMWorld.type (D:\MYPROJECT\node_modules\puppeteer\lib\DOMWorld.js:421:5) at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:93:5) at async translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:3) -- ASYNC -- at Frame.<anonymous> (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:111:15) at Page.type (D:\MYPROJECT\node_modules\puppeteer\lib\Page.js:1076:29) at translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:14) at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:93:5) (node:15184) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 50) (node:15184) UnhandledPromiseRejectionWarning: Error: No node found for selector: .lmt__source_textarea at assert (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:279:11) at DOMWorld.type (D:\MYPROJECT\node_modules\puppeteer\lib\DOMWorld.js:421:5) at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:93:5) at async translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:3) -- ASYNC -- at Frame.<anonymous> (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:111:15) at Page.type (D:\MYPROJECT\node_modules\puppeteer\lib\Page.js:1076:29) at translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:14) at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:93:5) (node:15184) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 51) Got translation: ja-JA for: ui_shader_quality_1 | 低 (node:15184) UnhandledPromiseRejectionWarning: Error: No node found for selector: .lmt__source_textarea at assert (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:279:11) at DOMWorld.type (D:\MYPROJECT\node_modules\puppeteer\lib\DOMWorld.js:421:5) at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:93:5) at async translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:3) -- ASYNC -- at Frame.<anonymous> (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:111:15) at Page.type (D:\MYPROJECT\node_modules\puppeteer\lib\Page.js:1076:29) at translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:14) at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:93:5) (node:15184) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 52) Got translation: ja-JA for: ui_shader_quality_3 | 高 (node:15184) UnhandledPromiseRejectionWarning: Error: No node found for selector: .lmt__source_textarea at assert (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:279:11) at DOMWorld.type (D:\MYPROJECT\node_modules\puppeteer\lib\DOMWorld.js:421:5) at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:93:5) at async translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:3) -- ASYNC -- at Frame.<anonymous> (D:\MYPROJECT\node_modules\puppeteer\lib\helper.js:111:15) at Page.type (D:\MYPROJECT\node_modules\puppeteer\lib\Page.js:1076:29) at translate (D:\MYPROJECT\node_modules\deepl-scraper\index.js:55:14) at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:93:5) (node:15184) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 53) Got translation: ja-JA for: ui_tunnel_inner_radius | トンネルサイズ Got translation: ja-JA for: ui_user_color_a | メインカラー Got translation: ja-JA for: ui_user_color_b | 2色目 Got translation: ja-JA for: ui_value_smoothing | 値の平滑化 Got translation: ja-JA for: ui_zoom_val | スピード Example strings that seem to cause errors in this case: translate("Mittel", "de-de", "ja-JA").then(...
Owner

Hello,

This works for me :

> require('.').translate('Mittel', 'de', 'ja-JA').then(console.log)
Promise { <pending> }
> {
  source: { lang: 'de', sentence: 'Mittel' },
  target: {
    lang: 'ja',
    sentences: [ 'リソースのご案内', 'リソースのご紹介', '資源', 'M', 'リソース', 'M' ],
    translation: 'リソース'
  }
}
Hello, This works for me : ``` > require('.').translate('Mittel', 'de', 'ja-JA').then(console.log) Promise { <pending> } > { source: { lang: 'de', sentence: 'Mittel' }, target: { lang: 'ja', sentences: [ 'リソースのご案内', 'リソースのご紹介', '資源', 'M', 'リソース', 'M' ], translation: 'リソース' } } ```
Author

Hi, sorry for the late response.

The issues seems to appear randomly, when trying multiple translations with different languages too quickly.

ALSO: It seems like the translator will sometimes get confused and not switch the languages correctly. Example: first translating german -> italian, then german -> japanese

Got translation: it-IT for: ui_stats_option_2 | MegaByte
Skip translate: it-IT for: ui_shade_contrast + Contrasto
Got translation: it-IT for: ui_seizure_warning | Avviso di epilessia
Skip translate: it-IT for: ui_audio_multiplier + Influenza audio
Skip translate: it-IT for: ui_audio_smoothing + Lisciatura audio
Translating: ja-JA
Skip translate: ja-JA for: ui_strength + ChromaticAシェーダ
Got translation: ja-JA for: ui_shader_quality | Qualità degli ombreggiatori
Skip translate: ja-JA for: ui_shader_quality_3 + 高
Skip translate: ja-JA for: ui_shader_quality_2 + 中型
Skip translate: ja-JA for: ui_shader_quality_1 + 低
Got translation: ja-JA for: ui_stats_option | Statistiche
Got translation: ja-JA for: ui_stats_option_nan | Nessuno
Got translation: ja-JA for: ui_stats_option_0 | fotogrammi al secondo

As you can see, the last three translations were still using italian as target language...

I'm not sure if that would be helpful for you, but here is my project:
https://github.com/hexxone/we_project_helper
and an example file for testing: https://raw.githubusercontent.com/hexxone/ReactiveInk/2fa9d93acb1ed1c35b38b0ba2940deb3e7fef98a/project.json

Thanks in advance :)

Hi, sorry for the late response. The issues seems to appear randomly, when trying multiple translations with different languages too quickly. ALSO: It seems like the translator will sometimes get confused and not switch the languages correctly. Example: first translating german -> italian, then german -> japanese ``` Got translation: it-IT for: ui_stats_option_2 | MegaByte Skip translate: it-IT for: ui_shade_contrast + Contrasto Got translation: it-IT for: ui_seizure_warning | Avviso di epilessia Skip translate: it-IT for: ui_audio_multiplier + Influenza audio Skip translate: it-IT for: ui_audio_smoothing + Lisciatura audio Translating: ja-JA Skip translate: ja-JA for: ui_strength + ChromaticAシェーダ Got translation: ja-JA for: ui_shader_quality | Qualità degli ombreggiatori Skip translate: ja-JA for: ui_shader_quality_3 + 高 Skip translate: ja-JA for: ui_shader_quality_2 + 中型 Skip translate: ja-JA for: ui_shader_quality_1 + 低 Got translation: ja-JA for: ui_stats_option | Statistiche Got translation: ja-JA for: ui_stats_option_nan | Nessuno Got translation: ja-JA for: ui_stats_option_0 | fotogrammi al secondo ``` As you can see, the last three translations were still using italian as target language... I'm not sure if that would be helpful for you, but here is my project: https://github.com/hexxone/we_project_helper and an example file for testing: https://raw.githubusercontent.com/hexxone/ReactiveInk/2fa9d93acb1ed1c35b38b0ba2940deb3e7fef98a/project.json Thanks in advance :)
Owner

Can you tell me how exactly can I run your project ?

Regarding switching languages, I tested the following script which tests all target languages with a well-known english pangram synchronously :

const t1 = Date.now();

const { getSupportedLanguages, translate, quit } = require('deepl-scraper');

(async () => {

    const { targetLanguages } = await getSupportedLanguages();

    console.log('Expecting source language : en');

    for(let i = 0; i < targetLanguages.length; i++){

        if(targetLanguages[i].startsWith('en')) continue;

        console.log(`Expecting target language : ${targetLanguages[i]}`);

        console.log(await translate('The quick brown fox jumps over the lazy dog', 'en', targetLanguages[i]));

    }

    await quit();

    console.log(`Elapsed time : ${(Date.now() - t1) / 1000} seconds`);

})();

Then I got the following output :

Expecting source language : en
Expecting target language : de-DE
{
  source: {
    lang: 'en',
    sentence: 'The quick brown fox jumps over the lazy dog'
  },
  target: {
    lang: 'de',
    sentences: [
      'T',
      'T',
      'T',
      'T',
      'Der flotte braune Fuchs springt über den faulen Hund',
      'Der flinke braune Fuchs springt über den faulen Hund',
      'Der schnelle braune Fuchs überspringt den faulen Hund',
      'Der schnelle braune Fuchs springt über den faulen Hund'
    ],
    translation: 'Der schnelle braune Fuchs springt über den faulen Hund'
  }
}
Expecting target language : fr-FR
{
  source: {
    lang: 'en',
    sentence: 'The quick brown fox jumps over the lazy dog'
  },
  target: {
    lang: 'fr',
    sentences: [
      'T',
      'Le rapide renard brun saute par dessus le chien paresseux',
      'Le renard brun rapide saute par dessus le chien paresseux',
      'Le rapide renard brun saute par-dessus le chien paresseux',
      'Le renard brun rapide saute par-dessus le chien paresseux'
    ],
    translation: 'Le renard brun rapide saute par-dessus le chien paresseux'
  }
}
Expecting target language : es-ES
{
  source: {
    lang: 'en',
    sentence: 'The quick brown fox jumps over the lazy dog'
  },
  target: {
    lang: 'es',
    sentences: [
      'El rápido zorro marrón salta sobre el perro perezoso.',
      'El rápido zorro marrón salta sobre el perro perezoso...',
      'El rápido zorro marrón salta sobre el perro vago',
      'El rápido zorro marrón salta sobre el perro perezoso',
      'T'
    ],
    translation: 'El rápido zorro marrón salta sobre el perro perezoso'
  }
}
Expecting target language : pt-BR
{
  source: {
    lang: 'en',
    sentence: 'The quick brown fox jumps over the lazy dog'
  },
  target: {
    lang: 'pt',
    sentences: [
      'T',
      'A raposa marrom rápida salta sobre o cão preguiçoso',
      'A rápida raposa marrom pula sobre o cão preguiçoso',
      'A rápida raposa marrom salta por cima do cão preguiçoso',
      'A rápida raposa marrom salta sobre o cão preguiçoso'
    ],
    translation: 'A rápida raposa marrom salta sobre o cão preguiçoso'
  }
}
Expecting target language : it-IT
{
  source: {
    lang: 'en',
    sentence: 'The quick brown fox jumps over the lazy dog'
  },
  target: {
    lang: 'it',
    sentences: [
      'La veloce volpe marrone salta sul cane pigro',
      'La rapida volpe marrone salta sopra il cane pigro',
      'La veloce volpe bruna salta sopra il cane pigro',
      'La veloce volpe marrone salta sopra il cane pigro',
      'T'
    ],
    translation: 'La veloce volpe marrone salta sopra il cane pigro'
  }
}
Expecting target language : nl-NL
{
  source: {
    lang: 'en',
    sentence: 'The quick brown fox jumps over the lazy dog'
  },
  target: {
    lang: 'nl',
    sentences: [
      'De snelle bruine vos springt over de luie hond.',
      'De snelle bruine vos springt over de luie hond',
      'De snelle bruine vos springt over de luie hond heen.',
      'De snelle bruine vos springt over de luie hond heen',
      'T'
    ],
    translation: 'De snelle bruine vos springt over de luie hond heen'
  }
}
Expecting target language : pl-PL
{
  source: {
    lang: 'en',
    sentence: 'The quick brown fox jumps over the lazy dog'
  },
  target: {
    lang: 'nl',
    sentences: [
      'De snelle bruine vos springt over de luie hond.',
      'De snelle bruine vos springt over de luie hond',
      'De snelle bruine vos springt over de luie hond heen.',
      'De snelle bruine vos springt over de luie hond heen',
      'T'
    ],
    translation: 'De snelle bruine vos springt over de luie hond heen'
  }
}
Expecting target language : ru-RU
{
  source: {
    lang: 'en',
    sentence: 'The quick brown fox jumps over the lazy dog'
  },
  target: {
    lang: 'nl',
    sentences: [
      'De snelle bruine vos springt over de luie hond',
      'De snelle bruine vos springt over de luie hond heen.',
      'De snelle bruine vos springt over de luie hond heen',
      'T'
    ],
    translation: 'De snelle bruine vos springt over de luie hond heen'
  }
}
Expecting target language : ja-JA
{
  source: {
    lang: 'en',
    sentence: 'The quick brown fox jumps over the lazy dog'
  },
  target: {
    lang: 'nl',
    sentences: [
      'De snelle bruine vos springt over de luie hond',
      'De snelle bruine vos springt over de luie hond heen.',
      'De snelle bruine vos springt over de luie hond heen',
      'T'
    ],
    translation: 'De snelle bruine vos springt over de luie hond heen'
  }
}
Expecting target language : zh-ZH
{
  source: {
    lang: 'en',
    sentence: 'The quick brown fox jumps over the lazy dog'
  },
  target: {
    lang: 'nl',
    sentences: [
      'De snelle bruine vos springt over de luie hond.',
      'De snelle bruine vos springt over de luie hond',
      'De snelle bruine vos springt over de luie hond heen.',
      'De snelle bruine vos springt over de luie hond heen',
      'T'
    ],
    translation: 'De snelle bruine vos springt over de luie hond heen'
  }
}
Elapsed time : 19.247 seconds

It seems to work as expected.

PS : at index.js:230, you should use quit from deepl-scraper instead of exit from process.

Can you tell me how exactly can I run your project ? Regarding switching languages, I tested the following script which tests all target languages with a well-known english pangram synchronously : ```js const t1 = Date.now(); const { getSupportedLanguages, translate, quit } = require('deepl-scraper'); (async () => { const { targetLanguages } = await getSupportedLanguages(); console.log('Expecting source language : en'); for(let i = 0; i < targetLanguages.length; i++){ if(targetLanguages[i].startsWith('en')) continue; console.log(`Expecting target language : ${targetLanguages[i]}`); console.log(await translate('The quick brown fox jumps over the lazy dog', 'en', targetLanguages[i])); } await quit(); console.log(`Elapsed time : ${(Date.now() - t1) / 1000} seconds`); })(); ``` Then I got the following output : ```text Expecting source language : en Expecting target language : de-DE { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'de', sentences: [ 'T', 'T', 'T', 'T', 'Der flotte braune Fuchs springt über den faulen Hund', 'Der flinke braune Fuchs springt über den faulen Hund', 'Der schnelle braune Fuchs überspringt den faulen Hund', 'Der schnelle braune Fuchs springt über den faulen Hund' ], translation: 'Der schnelle braune Fuchs springt über den faulen Hund' } } Expecting target language : fr-FR { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'fr', sentences: [ 'T', 'Le rapide renard brun saute par dessus le chien paresseux', 'Le renard brun rapide saute par dessus le chien paresseux', 'Le rapide renard brun saute par-dessus le chien paresseux', 'Le renard brun rapide saute par-dessus le chien paresseux' ], translation: 'Le renard brun rapide saute par-dessus le chien paresseux' } } Expecting target language : es-ES { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'es', sentences: [ 'El rápido zorro marrón salta sobre el perro perezoso.', 'El rápido zorro marrón salta sobre el perro perezoso...', 'El rápido zorro marrón salta sobre el perro vago', 'El rápido zorro marrón salta sobre el perro perezoso', 'T' ], translation: 'El rápido zorro marrón salta sobre el perro perezoso' } } Expecting target language : pt-BR { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'pt', sentences: [ 'T', 'A raposa marrom rápida salta sobre o cão preguiçoso', 'A rápida raposa marrom pula sobre o cão preguiçoso', 'A rápida raposa marrom salta por cima do cão preguiçoso', 'A rápida raposa marrom salta sobre o cão preguiçoso' ], translation: 'A rápida raposa marrom salta sobre o cão preguiçoso' } } Expecting target language : it-IT { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'it', sentences: [ 'La veloce volpe marrone salta sul cane pigro', 'La rapida volpe marrone salta sopra il cane pigro', 'La veloce volpe bruna salta sopra il cane pigro', 'La veloce volpe marrone salta sopra il cane pigro', 'T' ], translation: 'La veloce volpe marrone salta sopra il cane pigro' } } Expecting target language : nl-NL { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'nl', sentences: [ 'De snelle bruine vos springt over de luie hond.', 'De snelle bruine vos springt over de luie hond', 'De snelle bruine vos springt over de luie hond heen.', 'De snelle bruine vos springt over de luie hond heen', 'T' ], translation: 'De snelle bruine vos springt over de luie hond heen' } } Expecting target language : pl-PL { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'nl', sentences: [ 'De snelle bruine vos springt over de luie hond.', 'De snelle bruine vos springt over de luie hond', 'De snelle bruine vos springt over de luie hond heen.', 'De snelle bruine vos springt over de luie hond heen', 'T' ], translation: 'De snelle bruine vos springt over de luie hond heen' } } Expecting target language : ru-RU { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'nl', sentences: [ 'De snelle bruine vos springt over de luie hond', 'De snelle bruine vos springt over de luie hond heen.', 'De snelle bruine vos springt over de luie hond heen', 'T' ], translation: 'De snelle bruine vos springt over de luie hond heen' } } Expecting target language : ja-JA { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'nl', sentences: [ 'De snelle bruine vos springt over de luie hond', 'De snelle bruine vos springt over de luie hond heen.', 'De snelle bruine vos springt over de luie hond heen', 'T' ], translation: 'De snelle bruine vos springt over de luie hond heen' } } Expecting target language : zh-ZH { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'nl', sentences: [ 'De snelle bruine vos springt over de luie hond.', 'De snelle bruine vos springt over de luie hond', 'De snelle bruine vos springt over de luie hond heen.', 'De snelle bruine vos springt over de luie hond heen', 'T' ], translation: 'De snelle bruine vos springt over de luie hond heen' } } Elapsed time : 19.247 seconds ``` It seems to work as expected. PS : at [index.js:230](https://github.com/hexxone/we_project_helper/blob/master/index.js#L230), you should use `quit` from `deepl-scraper` instead of `exit` from `process`.
Author

Excuse me, but where does it seem to work as expected?

If you look at the translations from your example, Once it reaches "nl" (netherlands) no matter which language, the result was always the same. That's also the issue I am having:

Expecting target language : zh-ZH
but result still in "nl":


{
  source: {
    lang: 'en',
    sentence: 'The quick brown fox jumps over the lazy dog'
  },
  target: {
    lang: 'nl',
    sentences: [
      'De snelle bruine vos springt over de luie hond.',
      'De snelle bruine vos springt over de luie hond',
      'De snelle bruine vos springt over de luie hond heen.',
      'De snelle bruine vos springt over de luie hond heen',
      'T'
    ],
    translation: 'De snelle bruine vos springt over de luie hond heen'
  }
}

Sorry if I have missed something, and I will try using quit, thanks :)

Excuse me, but where does it seem to work as expected? If you look at the translations from your example, Once it reaches "nl" (netherlands) no matter which language, the result was always the same. That's also the issue I am having: **Expecting target language : zh-ZH** but result still in "nl": ``` { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'nl', sentences: [ 'De snelle bruine vos springt over de luie hond.', 'De snelle bruine vos springt over de luie hond', 'De snelle bruine vos springt over de luie hond heen.', 'De snelle bruine vos springt over de luie hond heen', 'T' ], translation: 'De snelle bruine vos springt over de luie hond heen' } } ``` Sorry if I have missed something, and I will try using quit, thanks :)
Owner

I'm sorry, you're right, I actually didn't bothered to read past italian.

I'm investigating now.

I'm sorry, you're right, I actually didn't bothered to read past italian. I'm investigating now.
Owner

So, I've been making several tests, on several machines, and I've got different results :

It works up to nl-NL then stucks on it (most common case)

Cf. first test above

It works every other time then throws an exception (your case)

Expecting source language : en
Expecting target language : de-DE
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'de',
     sentences:
      [ 'T',
        'T',
        'T',
        'T',
        'Der flotte braune Fuchs springt über den faulen Hund',
        'Der flinke braune Fuchs springt über den faulen Hund',
        'Der schnelle braune Fuchs überspringt den faulen Hund',
        'Der schnelle braune Fuchs springt über den faulen Hund' ],
     translation: 'Der schnelle braune Fuchs springt über den faulen Hund' } }
Expecting target language : fr-FR
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'de',
     sentences:
      [ 'T',
        'T',
        'T',
        'T',
        'Der flotte braune Fuchs springt über den faulen Hund',
        'Der flinke braune Fuchs springt über den faulen Hund',
        'Der schnelle braune Fuchs überspringt den faulen Hund',
        'Der schnelle braune Fuchs springt über den faulen Hund' ],
     translation: 'Der schnelle braune Fuchs springt über den faulen Hund' } }
Expecting target language : es-ES
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'es',
     sentences:
      [ 'El rápido zorro marrón salta sobre el perro perezoso.',
        'El rápido zorro marrón salta sobre el perro perezoso...',
        'El rápido zorro marrón salta sobre el perro vago',
        'El rápido zorro marrón salta sobre el perro perezoso',
        'T' ],
     translation: 'El rápido zorro marrón salta sobre el perro perezoso' } }
Expecting target language : pt-BR
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'pt',
     sentences:
      [ 'T',
        'A raposa marrom rápida salta sobre o cão preguiçoso',
        'A rápida raposa marrom pula sobre o cão preguiçoso',
        'A rápida raposa marrom salta por cima do cão preguiçoso',
        'A rápida raposa marrom salta sobre o cão preguiçoso' ],
     translation: 'A rápida raposa marrom salta sobre o cão preguiçoso' } }
Expecting target language : it-IT
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'pt',
     sentences:
      [ 'T',
        'A raposa marrom rápida salta sobre o cão preguiçoso',
        'A rápida raposa marrom pula sobre o cão preguiçoso',
        'A rápida raposa marrom salta por cima do cão preguiçoso',
        'A rápida raposa marrom salta sobre o cão preguiçoso' ],
     translation: 'A rápida raposa marrom salta sobre o cão preguiçoso' } }
Expecting target language : nl-NL
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'nl',
     sentences:
      [ 'De snelle bruine vos springt over de luie hond',
        'De snelle bruine vos springt over de luie hond heen.',
        'De snelle bruine vos springt over de luie hond heen',
        'T' ],
     translation: 'De snelle bruine vos springt over de luie hond heen' } }
Expecting target language : pl-PL
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'nl',
     sentences:
      [ 'De snelle bruine vos springt over de luie hond',
        'De snelle bruine vos springt over de luie hond heen.',
        'De snelle bruine vos springt over de luie hond heen',
        'T' ],
     translation: 'De snelle bruine vos springt over de luie hond heen' } }
Expecting target language : ru-RU
(node:23460) UnhandledPromiseRejectionWarning: Error: No node found for selector: .lmt__source_textarea
    at assert (/home/tiana/Documents/deepl-scraper/node_modules/puppeteer/lib/helper.js:231:11)
    at DOMWorld.type (/home/tiana/Documents/deepl-scraper/node_modules/puppeteer/lib/DOMWorld.js:433:5)
    at process._tickCallback (internal/process/next_tick.js:68:7)
  -- ASYNC --
    at Frame.<anonymous> (/home/tiana/Documents/deepl-scraper/node_modules/puppeteer/lib/helper.js:110:27)
    at Page.type (/home/tiana/Documents/deepl-scraper/node_modules/puppeteer/lib/Page.js:1027:29)
    at translate (/home/tiana/Documents/deepl-scraper/index.js:55:14)
    at process._tickCallback (internal/process/next_tick.js:68:7)

It works perfectly (for real this time)

Expecting source language : en
Expecting target language : de-DE
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'de',
     sentences:
      [ 'T',
        'T',
        'T',
        'T',
        'Der flotte braune Fuchs springt über den faulen Hund',
        'Der flinke braune Fuchs springt über den faulen Hund',
        'Der schnelle braune Fuchs überspringt den faulen Hund',
        'Der schnelle braune Fuchs springt über den faulen Hund' ],
     translation: 'Der schnelle braune Fuchs springt über den faulen Hund' } }
Expecting target language : fr-FR
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'fr',
     sentences:
      [ 'T',
        'Le rapide renard brun saute par dessus le chien paresseux',
        'Le renard brun rapide saute par dessus le chien paresseux',
        'Le rapide renard brun saute par-dessus le chien paresseux',
        'Le renard brun rapide saute par-dessus le chien paresseux' ],
     translation: 'Le renard brun rapide saute par-dessus le chien paresseux' } }
Expecting target language : es-ES
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'es',
     sentences:
      [ 'El rápido zorro marrón salta sobre el perro perezoso.',
        'El rápido zorro marrón salta sobre el perro perezoso...',
        'El rápido zorro marrón salta sobre el perro vago',
        'El rápido zorro marrón salta sobre el perro perezoso',
        'T' ],
     translation: 'El rápido zorro marrón salta sobre el perro perezoso' } }
Expecting target language : pt-BR
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'pt',
     sentences:
      [ 'T',
        'A raposa marrom rápida salta sobre o cão preguiçoso',
        'A rápida raposa marrom pula sobre o cão preguiçoso',
        'A rápida raposa marrom salta por cima do cão preguiçoso',
        'A rápida raposa marrom salta sobre o cão preguiçoso' ],
     translation: 'A rápida raposa marrom salta sobre o cão preguiçoso' } }
Expecting target language : it-IT
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'it',
     sentences:
      [ 'La rapida volpe marrone salta sopra il cane pigro',
        'La veloce volpe marrone salta sul cane pigro',
        'La veloce volpe bruna salta sopra il cane pigro',
        'La veloce volpe marrone salta sopra il cane pigro',
        'T' ],
     translation: 'La veloce volpe marrone salta sopra il cane pigro' } }
Expecting target language : nl-NL
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'nl',
     sentences:
      [ 'De snelle bruine vos springt over de luie hond',
        'De snelle bruine vos springt over de luie hond heen.',
        'De snelle bruine vos springt over de luie hond heen',
        'T' ],
     translation: 'De snelle bruine vos springt over de luie hond heen' } }
Expecting target language : pl-PL
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'pl',
     sentences:
      [ 'T',
        'T',
        'T',
        'T',
        'Szybki lis brunatny skacze nad leniwym psem',
        'Szybki brązowy lis skacze nad leniwym psem',
        'Szybki lis brązowy skacze nad leniwym psem.',
        'Szybki lis brązowy skacze nad leniwym psem' ],
     translation: 'Szybki lis brązowy skacze nad leniwym psem' } }
Expecting target language : ru-RU
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'ru',
     sentences:
      [ 'Быстрый коричневый лис перепрыгивает через ленивую собаку.',
        'Быстрый коричневый лис перепрыгивает через ленивую собаку.',
        'Быстрый коричневый лис прыгает через ленивого пса.',
        'Быстрый коричневый лис перепрыгивает через ленивого пса.',
        'T',
        'T',
        'T' ],
     translation: 'Быстрый коричневый лис перепрыгивает через ленивого пса.' } }
Expecting target language : ja-JA
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'ja',
     sentences:
      [ '怠け者の犬を飛び越えて、素早い茶色のキツネ',
        '怠け者の犬を飛び越えて、素早い茶色の狐が',
        '怠け者の犬を飛び越えて、素早い茶色の狐は',
        '怠け者の犬を飛び越えて素早い茶色の狐',
        'T',
        'T',
        'T',
        'T' ],
     translation: '怠け者の犬を飛び越えて、素早い茶色の狐は' } }
Expecting target language : zh-ZH
{ source:
   { lang: 'en',
     sentence: 'The quick brown fox jumps over the lazy dog' },
  target:
   { lang: 'zh',
     sentences:
      [ 'T',
        'T',
        'T',
        '敏捷的棕色狐狸跳过懒惰的小狗',
        '敏捷的棕色狐狸跳过了懒惰的狗',
        'T',
        '敏捷的棕色狐狸跳过懒惰的狗',
        '敏捷的棕色狐狸跳过了懒惰的狗。' ],
     translation: '敏捷的棕色狐狸跳过了懒惰的狗。' } }
Elapsed time : 22.339 seconds

Considering the randomness of outcomes, I believe this is due to some reaction time of the DOM, so I'll try fixing the in-browser interactions.

Thanks for your patience.

So, I've been making several tests, on several machines, and I've got different results : ### It works up to `nl-NL` then stucks on it (most common case) [Cf. first test above](https://git.kaki87.net/KaKi87/deepl-scraper/issues/2#issuecomment-148) ### It works every other time then throws an exception (your case) ```text Expecting source language : en Expecting target language : de-DE { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'de', sentences: [ 'T', 'T', 'T', 'T', 'Der flotte braune Fuchs springt über den faulen Hund', 'Der flinke braune Fuchs springt über den faulen Hund', 'Der schnelle braune Fuchs überspringt den faulen Hund', 'Der schnelle braune Fuchs springt über den faulen Hund' ], translation: 'Der schnelle braune Fuchs springt über den faulen Hund' } } Expecting target language : fr-FR { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'de', sentences: [ 'T', 'T', 'T', 'T', 'Der flotte braune Fuchs springt über den faulen Hund', 'Der flinke braune Fuchs springt über den faulen Hund', 'Der schnelle braune Fuchs überspringt den faulen Hund', 'Der schnelle braune Fuchs springt über den faulen Hund' ], translation: 'Der schnelle braune Fuchs springt über den faulen Hund' } } Expecting target language : es-ES { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'es', sentences: [ 'El rápido zorro marrón salta sobre el perro perezoso.', 'El rápido zorro marrón salta sobre el perro perezoso...', 'El rápido zorro marrón salta sobre el perro vago', 'El rápido zorro marrón salta sobre el perro perezoso', 'T' ], translation: 'El rápido zorro marrón salta sobre el perro perezoso' } } Expecting target language : pt-BR { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'pt', sentences: [ 'T', 'A raposa marrom rápida salta sobre o cão preguiçoso', 'A rápida raposa marrom pula sobre o cão preguiçoso', 'A rápida raposa marrom salta por cima do cão preguiçoso', 'A rápida raposa marrom salta sobre o cão preguiçoso' ], translation: 'A rápida raposa marrom salta sobre o cão preguiçoso' } } Expecting target language : it-IT { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'pt', sentences: [ 'T', 'A raposa marrom rápida salta sobre o cão preguiçoso', 'A rápida raposa marrom pula sobre o cão preguiçoso', 'A rápida raposa marrom salta por cima do cão preguiçoso', 'A rápida raposa marrom salta sobre o cão preguiçoso' ], translation: 'A rápida raposa marrom salta sobre o cão preguiçoso' } } Expecting target language : nl-NL { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'nl', sentences: [ 'De snelle bruine vos springt over de luie hond', 'De snelle bruine vos springt over de luie hond heen.', 'De snelle bruine vos springt over de luie hond heen', 'T' ], translation: 'De snelle bruine vos springt over de luie hond heen' } } Expecting target language : pl-PL { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'nl', sentences: [ 'De snelle bruine vos springt over de luie hond', 'De snelle bruine vos springt over de luie hond heen.', 'De snelle bruine vos springt over de luie hond heen', 'T' ], translation: 'De snelle bruine vos springt over de luie hond heen' } } Expecting target language : ru-RU (node:23460) UnhandledPromiseRejectionWarning: Error: No node found for selector: .lmt__source_textarea at assert (/home/tiana/Documents/deepl-scraper/node_modules/puppeteer/lib/helper.js:231:11) at DOMWorld.type (/home/tiana/Documents/deepl-scraper/node_modules/puppeteer/lib/DOMWorld.js:433:5) at process._tickCallback (internal/process/next_tick.js:68:7) -- ASYNC -- at Frame.<anonymous> (/home/tiana/Documents/deepl-scraper/node_modules/puppeteer/lib/helper.js:110:27) at Page.type (/home/tiana/Documents/deepl-scraper/node_modules/puppeteer/lib/Page.js:1027:29) at translate (/home/tiana/Documents/deepl-scraper/index.js:55:14) at process._tickCallback (internal/process/next_tick.js:68:7) ``` ### It works perfectly (for real this time) ```text Expecting source language : en Expecting target language : de-DE { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'de', sentences: [ 'T', 'T', 'T', 'T', 'Der flotte braune Fuchs springt über den faulen Hund', 'Der flinke braune Fuchs springt über den faulen Hund', 'Der schnelle braune Fuchs überspringt den faulen Hund', 'Der schnelle braune Fuchs springt über den faulen Hund' ], translation: 'Der schnelle braune Fuchs springt über den faulen Hund' } } Expecting target language : fr-FR { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'fr', sentences: [ 'T', 'Le rapide renard brun saute par dessus le chien paresseux', 'Le renard brun rapide saute par dessus le chien paresseux', 'Le rapide renard brun saute par-dessus le chien paresseux', 'Le renard brun rapide saute par-dessus le chien paresseux' ], translation: 'Le renard brun rapide saute par-dessus le chien paresseux' } } Expecting target language : es-ES { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'es', sentences: [ 'El rápido zorro marrón salta sobre el perro perezoso.', 'El rápido zorro marrón salta sobre el perro perezoso...', 'El rápido zorro marrón salta sobre el perro vago', 'El rápido zorro marrón salta sobre el perro perezoso', 'T' ], translation: 'El rápido zorro marrón salta sobre el perro perezoso' } } Expecting target language : pt-BR { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'pt', sentences: [ 'T', 'A raposa marrom rápida salta sobre o cão preguiçoso', 'A rápida raposa marrom pula sobre o cão preguiçoso', 'A rápida raposa marrom salta por cima do cão preguiçoso', 'A rápida raposa marrom salta sobre o cão preguiçoso' ], translation: 'A rápida raposa marrom salta sobre o cão preguiçoso' } } Expecting target language : it-IT { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'it', sentences: [ 'La rapida volpe marrone salta sopra il cane pigro', 'La veloce volpe marrone salta sul cane pigro', 'La veloce volpe bruna salta sopra il cane pigro', 'La veloce volpe marrone salta sopra il cane pigro', 'T' ], translation: 'La veloce volpe marrone salta sopra il cane pigro' } } Expecting target language : nl-NL { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'nl', sentences: [ 'De snelle bruine vos springt over de luie hond', 'De snelle bruine vos springt over de luie hond heen.', 'De snelle bruine vos springt over de luie hond heen', 'T' ], translation: 'De snelle bruine vos springt over de luie hond heen' } } Expecting target language : pl-PL { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'pl', sentences: [ 'T', 'T', 'T', 'T', 'Szybki lis brunatny skacze nad leniwym psem', 'Szybki brązowy lis skacze nad leniwym psem', 'Szybki lis brązowy skacze nad leniwym psem.', 'Szybki lis brązowy skacze nad leniwym psem' ], translation: 'Szybki lis brązowy skacze nad leniwym psem' } } Expecting target language : ru-RU { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'ru', sentences: [ 'Быстрый коричневый лис перепрыгивает через ленивую собаку.', 'Быстрый коричневый лис перепрыгивает через ленивую собаку.', 'Быстрый коричневый лис прыгает через ленивого пса.', 'Быстрый коричневый лис перепрыгивает через ленивого пса.', 'T', 'T', 'T' ], translation: 'Быстрый коричневый лис перепрыгивает через ленивого пса.' } } Expecting target language : ja-JA { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'ja', sentences: [ '怠け者の犬を飛び越えて、素早い茶色のキツネ', '怠け者の犬を飛び越えて、素早い茶色の狐が', '怠け者の犬を飛び越えて、素早い茶色の狐は', '怠け者の犬を飛び越えて素早い茶色の狐', 'T', 'T', 'T', 'T' ], translation: '怠け者の犬を飛び越えて、素早い茶色の狐は' } } Expecting target language : zh-ZH { source: { lang: 'en', sentence: 'The quick brown fox jumps over the lazy dog' }, target: { lang: 'zh', sentences: [ 'T', 'T', 'T', '敏捷的棕色狐狸跳过懒惰的小狗', '敏捷的棕色狐狸跳过了懒惰的狗', 'T', '敏捷的棕色狐狸跳过懒惰的狗', '敏捷的棕色狐狸跳过了懒惰的狗。' ], translation: '敏捷的棕色狐狸跳过了懒惰的狗。' } } Elapsed time : 22.339 seconds ``` Considering the randomness of outcomes, I believe this is due to some reaction time of the DOM, so I'll try fixing the in-browser interactions. Thanks for your patience.
Author

Ok, thanks for the update :

Glad you are making progress.

Ok, thanks for the update : Glad you are making progress.
KaKi87 referenced this issue from a commit 2020-10-09 00:02:13 +02:00
KaKi87 reopened this issue 2020-10-09 00:23:10 +02:00
Owner

I think I fixed your first issue (Error: No node found for selector: .lmt__source_textarea) by f684f108fe with a simple line of code.

However, I still don't know about the second one (result target language not matching request target language), so I made a fully-featured test suite (00031739ca to 53c0271f20).

This one doesn't only do English-to-all but all-to-all translations with pangrams.

I ran it 4 times tonight and got the same result, give or take.

I don't have time for a detailed analysis yet, but I'll study it this week-end.

8d024b9846/deepl-scraper.log

I think I fixed your first issue (`Error: No node found for selector: .lmt__source_textarea`) by [`f684f108fe`](https://git.kaki87.net/KaKi87/deepl-scraper/commit/f684f108feff5b6310b0a2fd60cd41cb4880f78d) with a simple line of code. However, I still don't know about the second one (result target language not matching request target language), so I made a fully-featured test suite ([`00031739ca`](https://git.kaki87.net/KaKi87/deepl-scraper/commit/00031739cae165d56c5dab230265dad29658e098) to [`53c0271f20`](https://git.kaki87.net/KaKi87/deepl-scraper/commit/53c0271f204bb7685a45aa38588da921b5a6b375)). This one doesn't only do English-to-all but all-to-all translations with pangrams. I ran it 4 times tonight and got the same result, give or take. I don't have time for a detailed analysis yet, but I'll study it this week-end. https://gist.githubusercontent.com/KaKi87/a410b878594a47d687c9bbf041f4e9fb/raw/8d024b98461838467d0b41b84ab952fcaca27565/deepl-scraper.log
KaKi87 added the
help wanted
bug
labels 2021-02-01 11:21:28 +01:00
Owner

Hello, here are the latest test results as per 178e6f6.

Nothing has changed, but I ran a new test because of class changed and new languages added by DeepL.

2589604f7b/deepl-scraper.log

Hello, here are the latest test results as per 178e6f6. Nothing has changed, but I ran a new test because of class changed and new languages added by DeepL. https://gist.githubusercontent.com/KaKi87/fefaa67edcea74ff8c29c26c4e4ffcd6/raw/2589604f7b1b19c77e98a00e7f025370b4b956d4/deepl-scraper.log
Owner

Hello, here are the latest test results as per 644124a and 2eae081.

I ran a new test because of classes changed and languages listing changed, and the outcome unexpectedly became better (only in terms of result target language match with request target language).

Before :

Test suite completed with 362 successes (63%), 2 warnings (0%), and 214 errors (37%) in 1942.06 seconds.

After :

Test suite completed with 553 successes (93%), 3 warnings (1%), and 39 errors (7%) in 2252.64 seconds.

However it's not enough, because there 5 of those errors still occured and the remaining 34 errors are unknown.

I'll update the test script with error stack and auto-retry once.

7491708825/deepl-scraper.log

Hello, here are the latest test results as per 644124a and 2eae081. I ran a new test because of classes changed and languages listing changed, and the outcome unexpectedly became better (only in terms of result target language match with request target language). Before : > Test suite completed with 362 successes (63%), 2 warnings (0%), and 214 errors (37%) in 1942.06 seconds. After : > Test suite completed with 553 successes (93%), 3 warnings (1%), and 39 errors (7%) in 2252.64 seconds. However it's not enough, because there 5 of those errors still occured and the remaining 34 errors are unknown. I'll update the test script with error stack and auto-retry once. https://gist.githubusercontent.com/KaKi87/c2176e57d3189ac629e67c25c721b3ca/raw/7491708825987f78c37bdf796936b2e35479cf1c/deepl-scraper.log
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: KaKi87/deepl-scraper#2
No description provided.