【问题标题】:Looping with while function with Selenium throws error NameError: name 'neadaclick' is not defined使用 Selenium 循环使用 while 函数会引发错误 NameError: name 'neadaclick' is not defined
【发布时间】:2016-09-30 14:19:30
【问题描述】:

我正在尝试自动化我工作中的一项任务。我已经有了任务,每次单击程序时我都可以完成它,但是我希望能够一键多次执行任务,所以我想使用 while 进入循环。于是我开始测试,这是我目前的代码:

from selenium import webdriver
browser = webdriver.Chrome()
def countdown(n):
    while (n >= 0):
#Lets get rid of this
#        print (n)
        browser.get('http://www.simplesite.com/')
        needaclick = browser.find_element_by_id('startwizard')
        neadaclick.click()
        n = n - 1
    print ('Sucess!')
#Change from static to user input.
#countdown (10) 
countdown (int(input('Enter a real number:')))
#Failed script code, leaving it here for documentation
#int(countdown) = input('Enter a real number:')

如您所见,我有一个简单的倒计时,理论上(或至少在我看来)应该发生的是我输入的次数应该是程序打开浏览器并单击的次数在元素启动向导上。但是,我不断收到错误 needaclick 未定义,我不确定如何正确解决此问题。

错误代码:

Traceback(最近一次调用最后一次): 文件“C:/Users/AMSUser/AppData/Local/Programs/Python/Python35-32/Scripts/Countdown Test.py”,第 14 行,在 countdown (int(input('输入一个实数:'))) 文件“C:/Users/AMSUser/AppData/Local/Programs/Python/Python35-32/Scripts/Countdown Test.py”,第 9 行,倒计时 neadaclick.click() NameError: name 'neadaclick' 没有定义

【问题讨论】:

  • 向我们展示整个错误回溯。你让我们猜测错误发生在哪里。
  • 更新了问题,感谢您指出这一点。
  • needaclick = browser.find_element_by_id('startwizard') vs neadaclick.click() - 你能看到吗? 需要 vs 需要
  • @ElmoVanKielmo 是的,很好发现,投票结束。
  • 感谢 alecxe 和 @ElmoVanKielmo

标签: python python-3.x selenium-chromedriver


【解决方案1】:

@ElmoVanKielmo 指出了一个我没有注意到的错误,我的第一个声明是needaclick,但在下一行我写了neadaclick,这已经解决并且可以正常工作了。

【讨论】:

    猜你喜欢
    • 2020-11-07
    • 2022-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多