欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > python的selenium库模拟输入和点击

python的selenium库模拟输入和点击

2025/2/22 3:18:41 来源:https://blog.csdn.net/mangge/article/details/145587681  浏览:    关键词:python的selenium库模拟输入和点击
使用python打开已经登录的谷歌浏览器,模拟录入文本提交数据。1、执行命令行,系统会打开浏览器,手工登录
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9223 --user-data-dir="C:\tmp"
2、下载谷歌驱动,先看谷歌版本,再谷歌地址栏输入:chrome://settings/help

获取版本号:版本 133.0.6943.60(正式版本) (64 位),再根据版本号下载谷歌驱动chromedriver.exe。我百度了好几次,才找到一个 ChromeDriver 132.0.6834.110。chrome133的可以用。

3、pythton代码

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9223")  # 默认调试端口为9222
# 指定 ChromeDriver 的路径
driver_path = r"C:\tmp\chromedriver.exe"# 创建 Service 对象并指定 ChromeDriver 路径
service = Service(executable_path=driver_path)
# 创建 WebDriver 实例,连接到已打开的 Chrome 浏览器
driver = webdriver.Chrome(service=service, options=chrome_options)
try:# 等待页面加载完成driver.implicitly_wait(5)# 假设文本框和提交按钮的 XPath 路径如下text_box_xpath = '/html/body/div/div/div[2]/div[1]/div/div[2]/div[3]/div[1]/div/div[1]/div/div/textarea'  # 替换为实际的 XPathsubmit_button_xpath = '/html/body/div/div/div[2]/div[1]/div/div[2]/div[3]/div[1]/div/div[3]/img'  # 替换为实际的 XPathprint(f"大循环开始,共500次")# 大循环,运行10次for i in range(500):print(f"开始第 {i + 1} 次操作...")# 等待文本框变为可交互状态text_box = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, text_box_xpath)))text_box.clear()  # 清空文本框内容text_box.send_keys("请写个排比句 ",i+1)# 等待1秒time.sleep(1)# 等待提交按钮变为可点击状态submit_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, submit_button_xpath)))submit_button.click()# 等待直到文本框重新出现或超时while True:try:# 使用 WebDriverWait 等待文本框出现且可交互,超时时间为10秒WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, text_box_xpath)))print("文本框已找到且可交互,进入下一次循环")break  # 如果找到文本框,跳出等待循环except Exception as e:# 如果没有找到文本框,打印日志并继续等待print("未找到文本框或不可交互,继续等待...")continueprint(f"第 {i + 1} 次操作完成!")except Exception as e:print(f"发生错误: {e}")
finally:# 不关闭浏览器,保持会话pass

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词