【发布时间】:2021-02-12 10:33:04
【问题描述】:
我正在尝试创建一个项目,女巫会自动填写出勤表。我今天学会了如何使用 selenium,所以代码看起来很糟糕。我的问题是我试图提交多个回复以填写我所有的 5 个时期。因此,我使用 for 循环为 5 个响应中的每一个输入正确的时间段。我的问题是,任何缩进比第一个缩进更远的代码似乎都会在打开 python 后立即关闭。
for i in range(0,5):
if i == 0:
formPeriodTwo = driver.find_element_by_xpath('//*[@id="mG61Hd"]/div[2]/div/div[2]/div[3]/div/div/div[2]/div/div[2]/div[4]/span')
formPeriodTwo.click()
time.sleep(1)
elif i == 1:
formPeriodTwo = driver.find_element_by_xpath('//*[@id="mG61Hd"]/div[2]/div/div[2]/div[3]/div/div/div[2]/div/div[2]/div[5]/span')
formPeriodTwo.click()
time.sleep(1)
elif i == 2:
formPeriodTwo = driver.find_element_by_xpath('//*[@id="mG61Hd"]/div[2]/div/div[2]/div[3]/div/div/div[2]/div/div[2]/div[7]/span')
formPeriodTwo.click()
time.sleep(1)
elif i = 3:
formPeriodTwo = driver.find_element_by_xpath('//*[@id="mG61Hd"]/div[2]/div/div[2]/div[3]/div/div/div[2]/div/div[2]/div[8]/span')
formPeriodTwo.click()
time.sleep(1)
elif i = 4:
formPeriodTwo = driver.find_element_by_xpath('//*[@id="mG61Hd"]/div[2]/div/div[2]/div[3]/div/div/div[2]/div/div[2]/div[9]/span')
formPeriodTwo.click()
time.sleep(1)
我只是根据“i”是什么从下拉菜单中按下不同的选项。 当我之前尝试使用 if 语句时也发生了这种情况,但我能够解决 if 语句。 if 语句可能是问题所在吗? 如果我注释掉 python 打开并完成它的工作的四个循环。但是如果 for 循环在,python 会立即关闭。什么可能导致这种情况?硒是否会停止循环?我是不是用错了 for 循环?
经过更多测试,我发现 这有效,以后可以作为函数调用
def printTest():
print("hello")
还有这个
def printTest():
print("hello")
for i in range(0,4):
print("world")
这意味着关于特定 for 循环的某些东西正在搞乱 python
提前感谢您的帮助!
【问题讨论】:
-
您能否更正缩进以确保它与您的实际代码相匹配,并在命令行中使用
python命令运行您的代码,以便提示符保持打开状态,以便您收到错误消息。我假设您当前正在通过双击脚本来运行它?
标签: python python-3.x selenium web webautomation