Puppeteer: Die in der page.type-Methode übergebene Verzögerungsoption wird durch die an die puppeteer.launch-Methode übergebene slowMo-Option überschrieben

Erstellt am 14. Nov. 2017  ·  3Kommentare  ·  Quelle: puppeteer/puppeteer

Schritte zum Reproduzieren

Erzählen Sie uns von Ihrer Umgebung:

  • Puppenspieler-Version: 0.13.0
  • Plattform-/Betriebssystemversion: macOS Sierra v10.12.6

Welche Schritte werden das Problem reproduzieren?

Der Code, der das Problem reproduziert, ist:

const puppeteer = require('puppeteer');

async function run() {
  const browser = await puppeteer.launch({
    headless: false,
    slowMo: 250
  });
  const page = await browser.newPage();
  page.setViewport({ width: 1280, height: 700 });
  await page.goto('https://www.labs.octasimo.com/puppeteer/test-page-type-delay.html', {
    waitUntil: 'networkidle0'
  });
  await page.type('.firstname', 'Mickey', {delay: 10});
  await page.type('.lastname', 'Mouse', {delay: 10});
  await page.waitFor(5000);
  await browser.close();
}

run();

Was ist das erwartete Ergebnis?

Dieser Puppenspieler respektiert die Option delay die in der Methode page.type .

Was passiert stattdessen?

delay Option, die in der page.type Methode übergeben wurde, wird von der slowMo Option überschrieben, die an die puppeteer.launch Methode übergeben wurde.

Hilfreichster Kommentar

@aslushnikov
Ich denke, wir sollten individuelle Verzögerungen zulassen. Browser laufen auf verschiedenen CPUs unterschiedlich und es ist schön, die Möglichkeit zu haben, bestimmte Browseraktionen zu verlangsamen, um sicherzustellen, dass sie dieselben Ergebnisse liefern.

Alle 3 Kommentare

@octasimo , danke für die Einreichung.

Es gibt keine Ausnahmen für die Option slowMo : Sie verlangsamt alle Interaktionen zwischen pptr und Browser. Wir möchten, dass dies so bleibt, um vorhersehbar zu sein und die Codebasis einfach zu halten.

Schließe dies vorerst; Wir können dies später überdenken, wenn mehr Nachfrage besteht.

@aslushnikov
Ich denke, wir sollten individuelle Verzögerungen zulassen. Browser laufen auf verschiedenen CPUs unterschiedlich und es ist schön, die Möglichkeit zu haben, bestimmte Browseraktionen zu verlangsamen, um sicherzustellen, dass sie dieselben Ergebnisse liefern.

Ich denke, wir sollten individuelle Verzögerungen zulassen. Browser laufen auf verschiedenen CPUs unterschiedlich und es ist schön, die Möglichkeit zu haben, bestimmte Browseraktionen zu verlangsamen, um sicherzustellen, dass sie dieselben Ergebnisse liefern.

@sojungko dies ist auf der Puppeteer-API ES6 Proxy , um Puppeteer-Objekte einzuschließen , um Zeitüberschreitungen vor oder nach Methodenaufrufen einzufügen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen