我是Stack和Selenium的新手,所以请原谅我。
我正在编写一个Selenium(Python)脚本,该脚本基本上在整个教程站点中运行,无数次出于视觉目的(而不是为了进行测试,只是为了演示如何不断浏览该站点)。 该程序似乎可以正常运行,并且可以永久运行。
我的问题是: 如果您不在运行ChromeDriver窗口时,硒是否应该断裂?
我注意到,如果您切换窗口/最小化硒控制的Chrome窗口,上面编写的程序会中断。我基本上得到了TimeoutException,因为它无法再找到该元素。我不确定这是否是硒的设计方法,但是是否可以解决此问题?
我包含了Explicit,它等待网站赶上该程序,然后获取TimeoutException(捕获)。
def elemClick(elem):
try:
highClick(elem)
mouseTo(elem)
elem.click()
time.sleep(1)
except TimeoutException:
print("Loading took too much time!")
def tour():
while True:
time.sleep(3)
try:
elem = driver.find_element_by_xpath("//div[@class='btnnextblock']")
elemClick(elem)
except ElementNotVisibleException:
break
while 0 < 1:
if btnNum == 1:
print("Tour 1")
elif btnNum == 2:
print("Tour 2")
elif btnNum == 3:
print("Tour 3")
else:
btnNum = (int)(input("Path not recognized - Enter again: "))
tour()
count += 1
time.sleep(1)
即使窗口最小化,我也希望程序继续运行,但这似乎是一个连续的问题。我目前已经在窗口本身上运行它,它已经完成了140次连续迭代,所以我假设问题是您无法最小化硒窗口并希望它继续工作。
但是,要确认/查看是否有解决方法。
谢谢!