S? d?ng Playwright v?i Ruby: H??ng d?n t?ng b??c cho n?m 2024

Lucas Mitchell
Automation Engineer
02-Sep-2024
S? d?ng Playwright v?i Ruby: H??ng d?n t?ng b??c cho n?m 2024
Web scraping ?? tr? th¨¤nh m?t k? n?ng c?n thi?t cho c¨¢c nh¨¤ ph¨¢t tri?n c?n thu th?p d? li?u t? c¨¢c trang web. Playwright, m?t c?ng c? t? ??ng h¨®a tr¨¬nh duy?t m?nh m?, th??ng ???c s? d?ng cho m?c ?¨ªch n¨¤y. Trong h??ng d?n n¨¤y, ch¨²ng ta s? kh¨¢m ph¨¢ c¨¢ch s? d?ng Playwright v?i Ruby ?? tr¨ªch xu?t d? li?u t? m?t trang web. Ch¨²ng ta s? ?i qua m?t v¨ª d? th?c t? b?ng c¨¢ch s? d?ng trang web Quotes to Scrape.
?i?u ki?n ti¨ºn quy?t
Tr??c khi b?t ??u, h?y ??m b?o r?ng b?n ?? c¨¤i ??t nh?ng th? sau tr¨ºn m¨¢y c?a m¨¬nh:
- Ruby (Phi¨ºn b?n 2.7 tr? l¨ºn)
- Node.js (Playwright y¨ºu c?u Node.js ?? ch?y)
- Playwright Gem (Bao b?c Ruby cho Playwright)
B?n c¨® th? c¨¤i ??t c¨¢c ph? thu?c c?n thi?t b?ng c¨¢ch ch?y:
bash
gem install playwright-ruby-client
C¨¤i ??t Playwright
Sau khi c¨¤i ??t gem playwright-ruby-client
, b?n c?n thi?t l?p Playwright trong t?p l?nh Ruby c?a m¨¬nh. ??y l¨¤ c¨¢ch b?n c¨® th? l¨¤m ?i?u ?¨®:
ruby
require 'playwright'
Playwright.create(playwright_cli_executable_path: '/path/to/node_modules/.bin/playwright') do |playwright|
browser = playwright.chromium.launch(headless: false)
page = browser.new_page
page.goto('http://quotes.toscrape.com/')
# M? tr¨ªch xu?t v¨ª d? s? ???c ??a v¨¤o ??y
browser.close
end
Thay th? '/path/to/node_modules/.bin/playwright'
b?ng ???ng d?n th?c t? ??n Playwright CLI tr¨ºn h? th?ng c?a b?n.
Tr¨ªch xu?t Tr¨ªch d?n t? Trang web
B?y gi?, h?y vi?t m? ?? tr¨ªch xu?t tr¨ªch d?n t? trang web. Ch¨²ng ta s? tr¨ªch xu?t v?n b?n c?a m?i tr¨ªch d?n v¨¤ t¨¢c gi? t??ng ?ng.
ruby
require 'playwright'
Playwright.create(playwright_cli_executable_path: '/path/to/node_modules/.bin/playwright') do |playwright|
browser = playwright.chromium.launch(headless: false)
page = browser.new_page
page.goto('http://quotes.toscrape.com/')
quotes = page.query_selector_all('.quote')
quotes.each do |quote|
ruby
require 'playwright'
Playwright.create do |playwright|
browser = playwright.chromium.launch
page = browser.new_page
page.goto('http://quotes.toscrape.com/')
page.query_selector_all('.quote').each do |quote|
quote_text = quote.query_selector('.text').text_content.strip
author = quote.query_selector('.author').text_content.strip
puts "#{quote_text} - #{author}"
end
browser.close
end
H??ng d?n n¨¤y ?? ch? cho b?n c¨¢ch thi?t l?p Playwright v?i Ruby v¨¤ tr¨ªch xu?t d? li?u t? m?t trang web. V¨ª d? ???c s? d?ng ? ??y r?t ??n gi?n nh?ng c¨® th? ???c m? r?ng cho c¨¢c t¨¢c v? ph?c t?p h?n. Kh? n?ng t? ??ng h¨®a c¨¢c t¨¢c v? tr¨¬nh duy?t c?a Playwright bi?n n¨® th¨¤nh m?t c?ng c? m?nh m? ?? tr¨ªch xu?t d? li?u web v¨¤ ki?m tra.
Ch¨²c b?n tr¨ªch xu?t d? li?u vui v?!
Tuy¨ºn b? Tu?n th?: Th?ng tin ???c cung c?p tr¨ºn blog n¨¤y ch? mang t¨ªnh ch?t tham kh?o. CapSolver cam k?t tu?n th? t?t c? c¨¢c lu?t v¨¤ quy ??nh hi?n h¨¤nh. Vi?c s? d?ng m?ng l??i CapSolver cho c¨¢c ho?t ??ng b?t h?p ph¨¢p, gian l?n ho?c l?m d?ng l¨¤ ho¨¤n to¨¤n b? c?m v¨¤ s? b? ?i?u tra. C¨¢c gi?i ph¨¢p gi?i captcha c?a ch¨²ng t?i n?ng cao tr?i nghi?m ng??i d¨´ng trong khi ??m b?o tu?n th? 100% trong vi?c gi¨²p gi?i quy?t c¨¢c kh¨® kh?n v? captcha trong qu¨¢ tr¨¬nh thu th?p d? li?u c?ng khai. Ch¨²ng t?i khuy?n kh¨ªch vi?c s? d?ng d?ch v? c?a ch¨²ng t?i m?t c¨¢ch c¨® tr¨¢ch nhi?m. ?? bi?t th¨ºm th?ng tin, vui l¨°ng truy c?p ?i?u kho?n D?ch v? v¨¤ Ch¨ªnh s¨¢ch Quy?n ri¨ºng t?.
Th¨ºm

L¨¤m th? n¨¤o ?? gi?i quy?t m?i phi¨ºn b?n c?a reCAPTCHA Enterprise v2, v2 v? h¨¬nh, v3, v3 Enterprise ?i?m 0.9
N?m v?ng c¨¢ch gi?i quy?t m?i phi¨ºn b?n reCaptcha v?i CapSolver: H??ng d?n n¨¤y cung c?p h??ng d?n t?ng b??c ?? gi?i quy?t reCaptcha m?t c¨¢ch hi?u qu?, ??m b?o k?t qu? ch¨ªnh x¨¢c m?i l?n.

Anh Tuan
11-Oct-2025

L¨¤m th? n¨¤o ?? gi?i CAPTCHA h¨¬nh ?nh
B¨¤i vi?t n¨¤y cung c?p m?t h??ng d?n to¨¤n di?n v? c¨¢ch gi?i captcha h¨¬nh ?nh b?ng CapSolver, m?t c?ng c? ???c thi?t k? ?? t? ??ng h¨®a quy tr¨¬nh. N¨® b?t ??u b?ng vi?c gi?i th¨ªch v? kh¨¢i ni?m captcha h¨¬nh ?nh, sau ?¨® l¨¤ m?t h??ng d?n chi ti?t t?ng b??c v? c¨¢ch s? d?ng API c?a CapSolver ?? gi?i c¨¢c captcha n¨¤y. H??ng d?n bao g?m c¨¢c v¨ª d? v? c¨¢c y¨ºu c?u v¨¤ ph?n h?i li¨ºn quan ??n quy tr¨¬nh. B¨¤i vi?t k?t th¨²c b?ng m?t nh?n x¨¦t v? hi?u qu? v¨¤ ti?n l?i khi s? d?ng CapSolver ?? gi?i captcha h¨¬nh ?nh, l¨¤m cho n¨® tr? th¨¤nh m?t ngu?n t¨¤i nguy¨ºn qu? gi¨¢ cho nh?ng ng??i mu?n t? ??ng h¨®a c¨¢c nhi?m v? li¨ºn quan ??n vi?c gi?i captcha.

Anh Tuan
11-Oct-2025

Gi?i reCaptcha v2 Enterprise
Trong th? gi?i s?, an ninh v¨¤ s? ti?n l?i cho ng??i d¨´ng th??ng ? hai ??u m¨²t ??i l?p c?a thang ?o. CAPTCHAs, ??c bi?t l¨¤ reCaptcha, ?? ?¨®ng vai tr¨° thi?t y?u trong vi?c t¨¬m ra s? c?n b?ng gi?a hai y?u t? n¨¤y. Tuy nhi¨ºn, n?u b?n c?n gi?i quy?t c¨¢c b¨¤i ki?m tra reCaptcha th??ng ph?c t?p v¨¤ t?n th?i gian, ??c bi?t l¨¤ reCaptcha V2 Enterprise, v¨¬ m?t m?c ?¨ªch h?p ph¨¢p nh? ki?m th? t? ??ng th¨¬ sao? Trong b¨¤i vi?t n¨¤y, ch¨²ng t?i s? h??ng d?n b?n qua quy tr¨¬nh gi?i reCaptcha V2 Enterprise b?ng API c?a CapSolver.

Anh Tuan
11-Oct-2025

Gi?i reCaptcha v3
H?c c¨¢ch gi?i reCaptcha V3 b?ng CapSolver: nhi?u lo?i nhi?m v?, t¨ªch h?p API ??n gi?n v¨¤ c¨¢c gi?i ph¨¢p hi?u qu? cho t? ??ng h¨®a v¨¤ ki?m th?

Anh Tuan
10-Oct-2025

C¨¢i n¨¤o l¨¤ gi?i ph¨¢p AWS WAF t?t nh?t trong khi qu¨¦t web v¨¤o n?m 2025?
H?c c¨¢ch gi?i quy?t CAPTCHA AWS WAF hi?u qu? b?ng CapSolver v¨¤o n?m 2025. H??ng d?n t?ng b??c, t¨ªch h?p Python, c?ng c? AI ?? t?ng t?c quy tr¨¬nh t? ??ng h¨®a c?a b?n. V??t qua c¨¢c token ??ng, ph?n t¨ªch h¨¤nh vi v¨¤ c¨¢c th¨¢ch th?c CAPTCHA ph?c t?p m?t c¨¢ch d? d¨¤ng.

Lucas Mitchell
26-Sep-2025

C¨¢ch gi?i quy?t reCaptcha v3 Enterprise
H?c c¨¢ch gi?i quy?t reCAPTCHA v3 Enterprise m?t c¨¢ch d? d¨¤ng b?ng Capsolver: ch¨¬a kh¨®a c?a b?n ?? v??t qua CAPTCHA ph?c t?p v?i ph?n t¨ªch r?i ro n?ng cao v¨¤ t¨ªch h?p li?n m?ch

Anh Tuan
24-Sep-2025