首页 > 解决方案 > 即使使用 WebDriverWait 也会获得 selenium.common.exceptions.TimeoutException

问题描述

即使添加了 WebDriver 的等待时间,我也遇到了 TimeoutException。我正在使用从 Excel 电子表格生成的 Pandas 数据框中的数据一一搜索 SKU。

我的代码永远不会到达它发送密钥的行。

search_bar = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "(//div[contains(@class='searchbox-inner-searchtext')])")))
search_bar.send_keys(sku)
search_bar.send_keys(Keys.RETURN)

try:
    cross_click = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "(//*[@class='MuiSvgIcon-root'])[2]")))
    cross_click.click()
except Exception as e:
    print(e)
    print('No Product Found.')
    pass

标签: pythonseleniumselenium-webdriverweb-scraping

解决方案


我能够使用 FULL XPATH 检查选项以及您提供的类名找到它。我相信还有其他方法;除非被要求以非常具体的方式测试访问权限,否则我通常会选择最简单的方法。

search_bar = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "/html/body/header/div[2]/div[1]/div/div[2]/div[2]/input")))
search_bar = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, "searchbox-inner-searchtext")))

推荐阅读