首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我使用无限循环来执行代码。随着时间的推移,这种情况会发生吗,比如堆栈溢出?

我使用无限循环来执行代码。随着时间的推移,这种情况会发生吗,比如堆栈溢出?
EN

Stack Overflow用户
提问于 2018-05-01 10:32:46
回答 1查看 323关注 0票数 0

我使用python selenium自动化网站,但我使用无限循环来执行代码。随着时间的推移,这种情况会发生吗,比如堆栈溢出?

我在python中使用了selenium,并在代码中使用了无限循环。一开始我没有任何问题,但随着时间的推移,我得到了下面的error.what,我应该怎么办?

代码语言:javascript
复制
[13988:1284:0501/110015.734:ERROR:latency_info.cc(164)] Display::DrawAndSwap, 
LatencyInfo vector size 102 is too big.

以下是代码

代码语言:javascript
复制
# -*- coding:utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import re
import time
n=1
driver=webdriver.Chrome('F:\pythonjiaoben\chromedriver_win32\chromedriver.exe')
driver.get('this is my web url')

def is_text(a):
    try:
        elem=driver.find_element_by_link_text(a)
        return True
    except:
        return False
def is_shuaxin():
    try:
        time.sleep(1)
        elem=driver.find_element_by_xpath("/html/body/p")
        elem=elem.text
        if re.match(r'您点击',elem):
            return True
        else:
            return False 
    except:
        print("我错了")
        return False
def is_chakan(sa):
    try:
        elem=driver.find_element_by_xpath("/html/body/p")
        elem=elem.text
        if re.findall(r'%s' % sa,elem):
            return True

        else:
            return False 
    except:
        return False

def gongji():
    while(n>0):
        if is_text("地狱之门[永恒]"):
            elem=driver.find_element_by_partial_link_text("地狱之门[永恒]")
            elem.click()
            time.sleep(1)
            continue

        if is_text("进入世界"):
            elem=driver.find_element_by_partial_link_text("进入世界")
            elem.click()
            time.sleep(1)
            continue
        if is_text("加曼迪拉") and is_chakan("横在炽热之路"):
            elem=driver.find_element_by_link_text("加曼迪拉")
            elem.click()
            time.sleep(1)
            continue
        if is_chakan("目标已经不在了"):
            elem=driver.find_element_by_link_text("返回游戏")
            elem.click()
            time.sleep(1)
            continue
        if is_chakan("火羽山的三个守护者之一"):
            elem=driver.find_element_by_link_text("攻击")
            elem.click()
            time.sleep(1)
            continue
        if is_chakan("准备"):
            elem=driver.find_element_by_link_text("察看")
            elem.click()
            time.sleep(1)
            continue
        if is_chakan("横在炽热之路"):
            elem=driver.find_element_by_link_text("察看")
            elem.click()
            time.sleep(1)
            continue
        if is_chakan("公墓"):
            fuhuo()
        if is_shuaxin():
            elem=driver.find_element_by_partial_link_text("返回游戏")
            elem.click()
            time.sleep(1)
            continue
        else:
            fuhuo()

def fuhuo():
    while(n>0):
        if is_chakan("超生"):
            elem=driver.find_element_by_link_text("信徒路(恢复)")
            elem.click()
            time.sleep(1)
            continue
        if is_chakan("大理石地面和纯白的廊柱"):
            elem=driver.find_element_by_link_text("恢复")
            elem.click()
            time.sleep(1)
            continue
        if is_chakan("南广场"):
            elem=driver.find_element_by_link_text("广场(传送)")
            elem.click()
            time.sleep(1)
            continue
        if is_chakan("牧师把手放在你的伤口上"):
            elem=driver.find_element_by_link_text("环顾四周")
            elem.click()
            time.sleep(1)
            elem=driver.find_element_by_link_text("广场(传送)")
            elem.click()
            time.sleep(1)
            continue

        if is_chakan("南集市"):
            elem=driver.find_element_by_link_text("集市(拍卖)")
            elem.click()
            time.sleep(1)
        if is_chakan("南铁匠铺"):
            elem=driver.find_element_by_partial_link_text("铁匠铺(修理)")
            elem.click()
            time.sleep(1)
            continue
        if is_chakan("装备凝练"):
            elem=driver.find_element_by_partial_link_text("修理")
            elem.click()
            time.sleep(1)
            continue
        if is_chakan("修理全部"):
            elem=driver.find_element_by_partial_link_text("*修理全部")
            elem.click()
            time.sleep(1)
            break
        if is_shuaxin():
            elem=driver.find_element_by_partial_link_text("返回游戏")
            elem.click()
            time.sleep(1)
            continue
        break
    chuansong()

def chuansong():
    while(n>0):
        if is_chakan("你花费"):
            elem=driver.find_element_by_partial_link_text("返回游戏")
            elem.click()
            time.sleep(1)
            continue
        if is_chakan("通灵坐骑装备合成"):
            elem=driver.find_element_by_link_text("地图")
            elem.click()
            time.sleep(1)
            continue
        if is_chakan("完成勇者之心任务"):
            elem=driver.find_element_by_link_text("时空转移")
            elem.click()
            time.sleep(1)
            continue
        if is_chakan("快速回城"):
            elem=driver.find_element_by_link_text("天火岩")
            elem.click()
            time.sleep(1)
            continue
        if is_chakan("挂机地图"):
            if is_text("开始挂机"):
                elem=driver.find_element_by_link_text("开始挂机")
                elem.click()
                time.sleep(1)
                continue
            else:
                if is_text("返回游戏"):
                    elem=driver.find_element_by_link_text("返回游戏")
                    elem.click()
                    time.sleep(1)
                    break
        if is_chakan("横在炽热之路上"):
            elem=driver.find_element_by_link_text("挂机")
            elem.click()
            time.sleep(1)
            continue
        if is_shuaxin():
            elem=driver.find_element_by_partial_link_text("返回游戏")
            elem.click()
            time.sleep(1)
            continue
        break
gongji()

好吧,我知道代码写得很差,我还在学习它,所以如果你有更好的方法来修改代码,请在下面指出。非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2018-05-01 10:44:13

如果一切都在python中,堆栈/缓冲区溢出应该不会有任何问题。保持无限循环应该没问题。

但是,最好使用分析工具,或者从头到尾监控进程使用的资源。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50110689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档