使用Pandas+Selenium:如何根据Excel列值控制Google Forms选择框点击?
解决方案
你的代码核心问题在于 elemento_tf.click() 会立即执行点击操作,之后才把它的返回值(None)赋值给DataFrame的对应行,这就导致不管TF列的值是YES还是NO,点击动作都会触发。
正确的做法是遍历DataFrame的每一行,根据TF列的值判断是否执行点击:
import pandas as pd from selenium import webdriver from selenium.webdriver.common.by import By import time # 假设已完成chrome驱动初始化和df2数据读取 elemento_tf = chrome.find_element(By.XPATH,"//*[@id='i35']") time.sleep(0.5) # 逐行遍历判断TF值 for index, row in df2.iterrows(): if row["TF"].strip().upper() == "YES": elemento_tf.click() # 可根据表单加载情况添加延迟 time.sleep(0.5) # 值为NO时直接跳过,不执行任何操作
补充说明
- 用
iterrows()逐行遍历DataFrame,能精准获取每行的TF值做判断 .strip().upper()是为了兼容表格中可能存在的空格、大小写不一致情况(比如Yes、yes)- 如果Google Forms的选择框是点击切换状态的类型(如单选/复选框),需注意多行
YES是否会导致重复点击取消选中的问题,可提前判断元素选中状态再执行点击
内容的提问来源于stack exchange,提问作者Gabriel Garcia
相关产品推荐
相关产品推荐

