Θέλω να φιλτράρω για έναν σύνδεσμο με την κλάση navbar__brand στον ιστότοπο του Playwright - μέσω Playwright:
Ο κώδικάς μου:
test("homepage has title and links to intro page", async ({ page }) => { await page.goto("https://playwright.dev/"); const links = page.getByRol Διαβάστε περισσότερα →
Συγκεντρώνω δεδομένα από μια ιστοσελίδα, και σε ορισμένες στιγμές, είναι απαραίτητο να λύσω ένα reCAPTCHA v2.
Χρησιμοποιώ την υπηρεσία 2Captcha για να λύσω αυτά τα CAPTCHAs. Μετά τη λήψη της απάντησης από το API, η οποία είναι μια συμβολοσειρά, χρειάζεται να εισάγω αυτή την τι
Διαβάστε περισσότερα →
Σκαλίζω δεδομένα από μια δυναμική ιστοσελίδα, οπότε κάποιες ενέργειες πρέπει να γίνουν για να φορτωθούν τα δεδομένα στο DOM. Υπάρχει μια οριζόντια γραμμή κύλισης στην οποία χρειάζεται να κάνω κλικ, και μέχρι στιγμής, μπορώ να εκτελέσω αυτήν την ενέργεια. Ωστόσο, θα ήταν πιο εν
Διαβάστε περισσότερα →
Ερευνώ το playwright και προσπαθώ να αλλάξω ή τουλάχιστον να πάρω τον τίτλο της καρτέλας που άνοιξε. Αλλά η λίστα των σελίδων δεν περιέχει την νεοανοιγμένη καρτέλα. Ο κώδικάς μου είναι ένα βασικό τεστ από την τεκμηρίωση.
test('homepage has title and links to intro page navigation', async ({ brows Διαβάστε περισσότερα →Έκανα μια λειτουργία Azure που χρησιμοποιεί το Playwright. Λειτουργεί τοπικά, καλά, αυτό το μέρος δεν αλλάζει)
Στη συνέχεια δημιούργησα μια Azure DevOps pipeline, ώστε να χρησιμοποιεί τον agent Ubuntu, το χτίζει με PLAYWRIGHT_BROWSERS_PATH=0, ώστε το Chromium να κατεβαίνει στους node_modules (και το βλέπω εκεί). Στη συνέχεια κυκλοφορεί στην Azure Function για Linux.
Αλλά όταν η συνάρτηση εκτελείται στο Azure αυτή η γραμμή:
const crBrowser Διαβάστε περισσότερα →Το έργο πάνω στο οποίο δουλεύω έχει ενσωμάτωση με το GitLab και στα ολοκληρωμένα μου τεστ, χρειάζεται να συνδεθώ με το GitLab για να έχω πρόσβαση στην εφαρμογή. Ωστόσο, όταν πηγαίνετε στο https://gitlab.com/users/sign_in, καταλήγετε να μένετε σε αυτήν την οθόνη που λέει Έλεγχος του προγράμματος περιήγησής σας πριν αποκτήσετε πρόσβαση στο gitlab.com.
Ξέρω ότι υπάρχει λύση όταν χρησιμοποιείται το selenium με το undetected-chromedriver (τουλάχιστον για Python), αλλά αναρωτιέμαι αν
Διαβάστε περισσότερα →Δοκιμάζω έναν διακομιστή με τον έλεγχο API του Playwright.
Έχω μια απλή διαδρομή GET, η οποία πάντα επιστρέφει 405 μη επιτρεπτό. Καταγράφει επίσης ότι η διαδρομή API κλήθηκε. Για χάρη αυτού του παραδείγματος στο StackOverflow, αντικατέστησα την καταγραφή με ένα fetch σε μια προσωρινή API.
export const loader = async () => { await fetch('https://jsonplaceholder.typicode.com/todos/1') .then(response => response.json()) .then(json =&g Διαβάστε περισσότερα →
Μετά την εκτέλεση των οδηγιών στη επίσημη σελίδα του Playwright για τη ρύθμιση του storageState, διαπιστώνω ότι στην πραγματικότητα δεν αποθηκεύεται τίποτα:
Τα βήματα είναι τα ακόλουθα:
(1) Δημιουργώ το αρχείο global-setup.ts:
async function globalSetup() { const requestContext = await request.newConte Διαβάστε περισσότερα →Δεν μπορώ να βρω τρόπο να αναγκάσω το Playwright να αποτύχει εάν το αρχείο spec.ts έχει προβλήματα TypeScript, όπως μέλη που λείπουν από το interface. Υπάρχει κάποιος τρόπος να το κάνω αυτό;
Διαβάστε περισσότερα →Έχω ένα απλό σενάριο. Κάνοντας κλικ στον σύνδεσμο GitHub στο playwright.dev προκαλεί το άνοιγμα νέας καρτέλας.
Πώς να επιβεβαιώσετε ότι αυτή η σελίδα άνοιξε και είναι μπροστά (⚠️χωρίς έλεγχο στοιχείων της σελίδας).
Έχει η σελίδα κάποιες ιδιότητες που δείχνουν αυτήν την κατάσταση (όπως isClosed());
Παράδειγμα κώδικα (όπου όλα σε νέα ανοιχτή σελίδα απορρίπτονται):
import { expect, test } from "@playwright/test"; test("sho Διαβάστε περισσότερα →