Python Selenium Chrome webdriver:持续检查网页是否发生重叠的最佳实践是什么?

2cmtqfgy  于 2022-12-23  发布在  Python
关注(0)|答案(1)|浏览(133)

我打开一个网页。点击不同的元素。在随机的时间整个工作区是覆盖与promt。
我成功地关闭了它:

def overlay_close():
    try:
        overlay = driver.find_element(By.CLASS_NAME, 'flocktory-widget-overlay')
        overlay.click()
        print('overlay closed: true')
        return True

    except:
        print('overlay closed: false')
        return False

但是,由于它出现在随机时间,我很难管理我应该如何检查是否发生覆盖。帮助

3pvhb19x

3pvhb19x1#

你可以使用线程

import time
import threading
def overlay_close():
    while True:
        try:
            WebDriverWait(driver, 10).until(EC.invisibility_of_element_located((By.CLASS_NAME, 'flocktory-widget-overlay')))
            print('overlay closed: true')
            return True
    
        except TimeoutError:
            print('overlay closed: false')
            return False
        finally:
            time.sleep(1)

threading.Thread(target=overlay_close).start()

相关问题