python - 即使使用 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
解决方案
我能够使用 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")))
推荐阅读
- r - 如何对“字符”类的对象使用计数
- botframework - 带有 luis-endpoint 问题的 Microsoft Bot 模拟器
- javascript - 加载 GTM 脚本时如何提高交互时间?
- python - 使用 Pandas 将多行文本转换为单行
- php - Laravel auth()->user()->posts()->create($data); > 未定义的方法'post'.intelephense(1013)
- xcode - 在 XCode 中的简单 C 代码上与“My Mac”上的调试器失去连接
- javascript - 无论对象名称如何,都可以在数组中选择对象的值吗?(减少方法)(初学者)
- python - 使用 python 编辑 XML 文件
- c++ - 链表的标识符未定义(尾/头)
- angular - 为什么门户组件不在模板中呈现?