循环一次完后,点击下一页,又继续循环
时间: 2023-07-07 11:22:53 浏览: 94
如果您需要在网页中循环获取多个名称,并将它们填写到表格中,可以使用循环和分页技术来实现。
以下是一个简单的示例代码,可以帮助您开始实现这个任务:
```python
import requests
from bs4 import BeautifulSoup
import pyautogui
import pandas as pd
# 获取网页内容
url_base = 'https://www.example.com'
page_num = 1
while True:
url = url_base + '?page=' + str(page_num)
response = requests.get(url)
html = response.text
# 解析 HTML 文档
soup = BeautifulSoup(html, 'html.parser')
names = soup.find_all('div', {'class': 'name'})
# 填写表格
df = pd.read_excel('example.xlsx')
for name in names:
row = df.loc[df['name'] == name.text].iloc[0]
pyautogui.click(x=100, y=200) # 点击表格第一行
pyautogui.typewrite(row['column1']) # 填写第一列数据
pyautogui.press('\t') # 切换到下一列
pyautogui.typewrite(row['column2']) # 填写第二列数据
pyautogui.press('\t') # 切换到下一列
pyautogui.typewrite(row['column3']) # 填写第三列数据
pyautogui.press('\t') # 切换到下一列
pyautogui.typewrite(row['column4']) # 填写第四列数据
pyautogui.press('\t') # 切换到下一列
pyautogui.typewrite(row['column5']) # 填写第五列数据
pyautogui.press('\t') # 切换到下一列
pyautogui.typewrite(row['column6']) # 填写第六列数据
pyautogui.press('\t') # 切换到下一列
pyautogui.typewrite(row['column7']) # 填写第七列数据
pyautogui.press('\t') # 切换到下一列
pyautogui.typewrite(row['column8']) # 填写第八列数据
pyautogui.press('\t') # 切换到下一列
pyautogui.typewrite(row['column9']) # 填写第九列数据
pyautogui.press('\t') # 切换到下一列
pyautogui.typewrite(row['column10']) # 填写第十列数据
# 点击下一页
next_page = soup.find('a', {'class': 'next-page'})
if next_page is None:
break
pyautogui.click(x=200, y=300) # 点击下一页按钮
page_num += 1
```
请注意,这只是一个简单的示例代码,您需要根据具体的网页和表格结构来进行适当的修改和调整。同时,自动化操作也需要谨慎使用,以免造成不必要的误操作和风险。
阅读全文