【问题标题】:Python/Selenium i keep getting errorPython/Selenium 我不断收到错误
【发布时间】:2016-02-01 05:40:11
【问题描述】:

这是我的代码,没有导入所有必要的驱动程序,我试图运行它,但我一直在尝试

indentation error:
ps C:/user/asus/temp > python clickex1.py
  file "clickex1.py" line 25
    try:

有人可以回答我的问题吗,我真的很感激 也有人可以检查我的代码并尝试改进它吗?

results = []
with open("al.txt") as inputfile:
    for line in inputfile:
       results.extend(line.strip().split(',')) 

x = random.choice(results)   

while True:
    driver = webdriver.firefox()
    time.sleep(10)
    driver.get(x)
    time.sleep(10)
       try:
            element = driver.find_element_by_id("vB_Editor_QR_iframe")
            found = element
       if found == False:       
            except NoSuchElementException:
            time.sleep(5)
       elif found == True:
            element.send_keys("example")
            time.sleep(60)
            driver.close()

【问题讨论】:

  • 如果它解决了您的问题,请接受答案,以便关闭问题

标签: python-2.7 selenium


【解决方案1】:

您收到错误,因为您的缩进不正确。该错误是不言自明的。你也没有正确使用异常处理。

while True:
    driver = webdriver.firefox()
    time.sleep(10)
    driver.get(x)
    time.sleep(10)
       try:
            element = driver.find_element_by_id("vB_Editor_QR_iframe")
            found = element
       if found == False:       
            except NoSuchElementException:
            time.sleep(5)
       elif found == True:
            element.send_keys("example")
            time.sleep(60)
            driver.close()

应该是

while True:
    driver = webdriver.firefox()
    time.sleep(10)
    driver.get(x)
    time.sleep(10)
    try:
        element = driver.find_element_by_id("vB_Editor_QR_iframe")
        found = element
        if found == False:       
            raise NoSuchElementException
        elif found == True:
            element.send_keys("example")
            time.sleep(60)
            driver.close()
    except NoSuchElementException:
            time.sleep(5)

【讨论】:

  • 那么问题是 while True: 因为如果 element = False 脚本会自行重启
  • @FurkancanTürksoy 另外,在这里我假设已经定义了异常NoSuchElementException。如果没有,当你运行它时你会得到一个NameError
  • 它已定义并且我没有收到任何错误,但问题是当它找不到重新启动脚本的元素时有什么想法为什么会发生这种情况?
  • @FurkancanTürksoy 是的,这是因为您将所有内容都放在了无限循环中,因此无论是否引发异常,循环都会永远持续下去。考虑在要终止循环的地方使用 break 关键字。
猜你喜欢
  • 2020-11-21
  • 1970-01-01
  • 1970-01-01
  • 2016-01-30
  • 2020-11-03
  • 2020-04-26
  • 2022-11-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多