Я использую python selenium для автоматизации сайта, но я использую бесконечный цикл для выполнения кода. Со временем это произойдет, например, переполнение стека?
Я использовал селен в python и использовал бесконечные циклы в моем коде. Сначала у меня не было никаких проблем, но со временем я получил следующую ошибку. Что мне делать?
[13988:1284:0501/110015.734:ERROR:latency_info.cc(164)] Display::DrawAndSwap,
LatencyInfo vector size 102 is too big.
Вот код
# -*- 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()
Ну, я знаю, что код написан плохо, и я все еще изучаю его на начальном этапе, поэтому, если у вас есть какой-либо лучший способ изменить код, укажите это ниже. большое спасибо!