余欲与鱼遇于雨 2025-05-26 11:21 采纳率: 0%
浏览 19

maersk爬取订舱价格查询

已经使用了chromedriver自动化实现maresk的登录,现在想要通过python获取订舱的价格查询

  • 写回答

6条回答 默认 最新

  • 阿里嘎多学长 2025-05-26 11:21
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    问题解答

    你已经使用 ChromeDriver 实现了 Maersk 的登录,现在想通过 Python 获取订舱的价格查询。下面是一个简单的示例代码,使用 selenium 库来模拟浏览器行为,获取价格查询结果:

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    # 设置 ChromeDriver 的路径
    driver_path = '/path/to/chromedriver'
    
    # 创建 ChromeDriver 对象
    driver = webdriver.Chrome(driver_path)
    
    # 登录 Maersk
    driver.get('https://www.maersk.com/login')
    username_input = driver.find_element_by_name('username')
    password_input = driver.find_element_by_name('password')
    username_input.send_keys('your_username')
    password_input.send_keys('your_password')
    login_button = driver.find_element_by_name('login')
    login_button.click()
    
    # 获取价格查询页面
    driver.get('https://www.maersk.com/booking/price')
    
    # 等待价格查询表格加载完成
    price_table = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.XPATH, '//table[@id="price-table"]'))
    )
    
    # 提取价格查询结果
    prices = []
    rows = price_table.find_elements_by_tag_name('tr')
    for row in rows:
        cols = row.find_elements_by_tag_name('td')
        if len(cols) > 0:
            prices.append({
                'origin': cols[0].text,
                'destination': cols[1].text,
                'price': cols[2].text
            })
    
    # 打印价格查询结果
    for price in prices:
        print(price)
    
    # 退出 ChromeDriver
    driver.quit()
    

    请注意,这只是一个简单的示例代码,实际上可能需要根据 Maersk 的页面结构和你的需求进行修改。同时,需要确保你已经安装了 selenium 库和 ChromeDriver。

    如果你遇到任何问题或需要更多帮助,请随时问我。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月26日