尝试在selenium中找到一个元素,如果它不在那里,则刷新它,直到它成为[python]

尝试在selenium中找到一个元素,如果它不在那里,则刷新它,直到它成为[python],python,selenium,Python,Selenium,我目前让程序找到元素并单击它,但有时元素将不在那里,因为项目尚未发布。因此,我希望通过脚本检查项目是否存在,如果没有,请单击刷新页面并再次检查 以下是产品查找脚本: 谢谢 你试过这样的东西吗 def select_product(keyword, color): xpath = "//article//a[contains(., '" + keyword + "')]/../../p/a[contains(., '" + color + "')]" while True:

我目前让程序找到元素并单击它,但有时元素将不在那里,因为项目尚未发布。因此,我希望通过脚本检查项目是否存在,如果没有,请单击刷新页面并再次检查

以下是产品查找脚本:
谢谢

你试过这样的东西吗

def select_product(keyword, color):
    xpath = "//article//a[contains(., '" + keyword + "')]/../../p/a[contains(., '" + color + "')]"
    while True:    
        try:
            driver.find_element_by_xpath(xpath).click()
            return
        except NoSuchElementException:
            sleep(2)
            driver.refresh()

如前所述,我对python和selenium还很陌生,只是想知道我应该把点击操作放在哪里?我忍者编辑了一次、两次或五次,我保证它就在那里。我得到了一个名称错误:没有定义名称“NoSuchElementException”。任何原因?nvm得到它必须从selenium导入。common.exceptions导入NoSuchElementException
def select_product(keyword, color):
    xpath = "//article//a[contains(., '" + keyword + "')]/../../p/a[contains(., '" + color + "')]"
    while True:    
        try:
            driver.find_element_by_xpath(xpath).click()
            return
        except NoSuchElementException:
            sleep(2)
            driver.refresh()