SoFunction
Updated on 2025-03-04

Sample code for DrissionPage in Python

1. Introduction

DrissionPage is a powerful Python library that integrates the capabilities of Selenium and Requests, allowing developers to seamlessly switch between browser automation and data crawling. The design philosophy of this library is to improve developers' work efficiency in web automation tasks while reducing coding complexity.

2. Basic use of DrissionPage

1. Installation and startup

First, we need to install the DrissionPage library. It can be installed via pip:

pip install DrissionPage

After the installation is complete, we can create aDrissionPageInstance to start web page operation. Here is a simple example showing how to initializeDrissionPageInstance and start the browser:

from drission import Drission
from  import Page

# Initialize the browser and use Selenium modedrission = Drission(browser='chrome')
# Create a page instancepage = Page(drission)
# Open a web page('')

2. Element positioning and operation

DrissionPageProvides a very convenient API to locate and manipulate page elements. It can be positioned through element id, class, label name, xpath, etc. For example, find an input box and fill in the content:

# Find elements and enter textinput_element = ('#username')
input_element.send_keys('my_username')

For example, click a button:

# Click the buttonbutton = ('.submit-button')
()

3. Advanced functions

1. Screenshot function

Screenshots are commonly used functions in automated testing.DrissionPageProvides a method of screenshotting, allowing you to easily obtain screenshots of web pages.

# Take screenshots of web pages('')

2. Data extraction

DrissionPageIt also supports extracting data from pages, such as getting text content of page elements, or getting attributes.

# Get the text content of the elementelement_text = ('.headline').text
print(element_text)

# Get the href attribute of the linklink = ('.link')
href = link.get_attribute('href')
print(href)

3. Integration with other libraries

DrissionPageCan be associated with other libraries (e.g.BeautifulSouppandasetc.) Used in conjunction to perform more complex web data extraction and processing. For example, useBeautifulSoupThe HTML structure of the parsing page:

from bs4 import BeautifulSoup

# Get the page source codehtml_content = 
# Use BeautifulSoup to parsesoup = BeautifulSoup(html_content, '')
title = 
print(title)

4. Specific usage examples

Suppose we need to crawl product information from an e-commerce website and need to log in to access this information. Here is a sample code for completing this task using DrissionPage:

from drission_page import DrissionPage

# Initialize the DrissionPagedrission = DrissionPage()

# Log in to the website('/login')
username = ('id', 'username')
password = ('id', 'password')
username.send_keys('your_username')
password.send_keys('your_password')
('css selector', '.login-button').click()

# Wait for the page to jumpdrission.wait_for_page_loaded()

# Visit the product page('/products')

# Extract product informationproducts = ('css selector', '.product-list').ele_list('css selector', '.product-item')
for product in products:
    name = ('css selector', '.product-name').text
    price = ('css selector', '.product-price').text
    print(f'Product Name: {name}, Price: {price}')

# Close the browser()

This example shows how to log in to a website using DrissionPage, wait for the page to load, access specific pages, and extract product information. With this library, we can easily accomplish these tasks without having to dig deep into the complexity of Selenium or Requests.

5. Summary

DrissionPage is an innovative Python library that cleverly incorporates the functions of driver and session to provide powerful support for web automation. Especially when dealing with website crawler tasks that require login, DrissionPage simplifies the original complex process without in-depth analysis of network data packets or JavaScript code. Developers can implement an automated login process through concise code. This not only improves development efficiency, but also reduces the possibility of errors.

This is the end of this article about the sample code of DrissionPage in Python. For more related Python DrissionPage content, please search for my previous articles or continue browsing the related articles below. I hope everyone will support me in the future!