Sử dụng Selenium để scrape Web (phần 22)

Scrape sử dụng Selenium (tiếp tục)

Ví dụ 2 – các forms và tìm kiếm

Trong ví dụ 2, chúng ta sẽ sử dụng Selenium để log in, log out và đi qua các trang có sẵn cho thu thập dữ liệu
dựa trên quotes khác nhau từ http://quotes.toscrape.com/. Tương tự như ví dụ 1, chúng ta sẽ định vị và xử lí
link cái chứa Login text từ http://toscrape.com/
Code sau tìm kiếm cho một phần tử anchor với Login text và thu thập thuộc tính href. Hành động click() được áp
dụng tới phần tử Login. Cái này load page http://quotes.toscrape.com/login. WebDrive có một ít thuộc tính, như
current_url. Thuộc tính này trả về URL của trang được load trong trình duyệt:

mainUrl=https://toscrape.com/
driver.get(mainUrl) # loads toscrape.com
loginPage = driver.find_element(By.LINK_TEXT,
“Login”).get_attribute(‘href’)
print(loginPage)
http://quotes.toscrape.com/login
driver.find_element(By.LINK_TEXT, “Login”).click()
print(f”Before Login : {driver.current_url}”)
http://quotes.toscrape.com/login

Phần tử với Login text là gần khu vực footer của page được load, và chúng ta cần cuộn xuống để xem phần tử. Nếu
cửa sổ trình duyệt có một thanh cuộn dọc (phụ thuộc vào kích thước của cửa sổ, nếu được cấu hình),
driver.find_element(By.LINK_TEXT, “Login”).click() code sẽ cuộn xuống trang theo chiều dọc cho đến khi phần tử
với Login text nhìn thấy được, và sau đó click lên nó. Cái này lầ một giảm code liên quan cuộn cửa sổ cái phải
được code trong phiên bản trước 4.1.0.

Chia sẻ