一篇教你python网页自动化

一篇教你python网页自动化


网页自动化

  • 一篇教你python网页自动化
  • @[TOC](网页自动化)
  • 前言
  • 一、安装Python?
  • 二、安装Selenium库:
  • 1.下载WebDriver:
  • 2.第二部分:基本网页操作
  • 三、元素定位与操作:
  • 图文演示获取选择器
  • 写的一个案例:
  • 这里我是从表格中读取要的数据 只是参考
  • 总结:
  • 前言

    在当今的快速发展的数字时代,自动化技术已成为提高效率、减少重复性工作和优化数据管理过程的关键工具。网页自动化尤其在多个行业中表现出巨大的潜力,包括电子商务、数据分析、市场研究等领域。通过自动化脚本,用户可以模拟网页上的各种操作,如填写表单、抓取数据、自动测试以及定期检查内容更新。
    Python,作为一种简单易学的编程语言,配合强大的库如Selenium,提供了一个强大的平台用于开发和实现网页自动化任务。本教程将指导您通过Python使用Selenium库进行基本的网页自动化,覆盖从环境设置到实际脚本编写的各个步骤。


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、安装Python?

    确保你的计算机上安装了Python。可以从Python官方网站下载并安装。
    我这里已经下载好了!

    二、安装Selenium库:

    打开你的命令行工具(如cmd、Terminal等),输入以下命令来安装Selenium:

    pip install selenium
    

    1.下载WebDriver:

    Selenium 需要与浏览器驱动(WebDriver)一起使用,你需要下载与你使用的浏览器相对应的驱动。例如,如果你使用Chrome浏览器,可以从ChromeDriver下载页面获取最新的驱动。

    2.第二部分:基本网页操作

    from selenium import webdriver
    指定ChromeDriver的路径:
    driver = webdriver.Chrome(executable_path=‘path_to_chromedriver’)
    或者不需要指定

    三、元素定位与操作:

    使用Selenium的定位功能来找到页面元素并与之交互。

    1. 定位元素:
      from selenium.webdriver.common.by import By
      search_box = driver.find_element(By.NAME, 'q')
      
    2. 输入文字
      往表单输入框输入文字这个就很简单了
      search_box.send_keys('Python')
      
    3. 点击按钮
      search_button = driver.find_element(By.NAME, 'btnK')
      search_button.click()
      
    4. 获取数据
      results = driver.find_element(By.ID, 'results')
      print(results.text)
      

    ``

    图文演示获取选择器

    也可以直接使用选择器:
    这里刚刚复制到的是:#su 操作都是一样的

    写的一个案例:

    import time
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.keys import Keys
    import pandas as pd
    
    
    class CredentialManager:
     def __init__(self, filename):
         self.credentials = pd.read_excel(filename)
    
     def get_credentials(self, index):
         if index < len(self.credentials):
             username = self.credentials['用户名'].iloc[index]
             password = self.credentials['密码'].iloc[index]
             return username, password
         else:
             raise IndexError("Index out of range for credentials.")
    
     def get_from_product(self, index):
         if index < len(self.credentials):
             product_name = self.credentials['产品名称'].iloc[index]
             product_des = self.credentials['产品描述'].iloc[index]
             mp4 = self.credentials['产品视频'].iloc[index]
             img = self.credentials['视频封面'].iloc[index]
             return product_name, product_des, mp4, img
         else:
             raise IndexError("没有拿到表单")
    
    
    class LoginAutomation:
     def __init__(self):
         self.driver = webdriver.Chrome()
         self.url = "地址"
         self.credential_manager = CredentialManager('ge.xlsx')
    
     def login(self, username, password):
         # 登录到网站
         self.driver.get(self.url)
         time.sleep(2)  # 等待页面加载
         try:
             # 输入用户名和密码,然后点击登录
             username_input = self.driver.find_element(By.XPATH, '//input[@placeholder="用户名"]')
             username_input.send_keys(username)
             password_input = self.driver.find_element(By.XPATH, '//input[@placeholder="密码"]')
             password_input.send_keys(password)
             self.driver.find_element(By.CSS_SELECTOR, "#app > div > div:nth-child(3) > div > "
                                                       "div.page-login--content-main > div > div > div > form > "
                                                       "button").click()
             time.sleep(4)  # 等待登录完成
         except Exception as e:
             print("在填写表单时遇到错误:", e)
    
     def run(self):
         # 尝试使用所有凭据进行登录
         for i in range(len(self.credential_manager.credentials)):
             username, password = self.credential_manager.get_credentials(i)
             print(f"Attempting to login with user {username}")
             self.login(username, password)
    
     def close_browser(self):
         self.driver.quit()
    
    
    if __name__ == '__main__':
     login_automation = LoginAutomation()
     login_automation.run()
     login_automation.close_browser()
    
    

    这里我是从表格中读取要的数据 只是参考

    总结:

    本教程提供了使用Python和Selenium进行基本网页自动化的入门级指南。通过学习如何自动化网页任务,您可以节省时间、增加效率,并为更复杂的自动化脚本开发打下基础。
    来一起解放双手!

    作者:杰哥力挽狂澜

    物联沃分享整理
    物联沃-IOTWORD物联网 » 一篇教你python网页自动化

    发表回复