首页 > 解决方案 > Selenium 找不到元素/表,即使它在屏幕上

问题描述

所以伙计们,我正在尝试在平台上自动下载文档。问题是:Selenium 没有找到可用文档的列表。

我可以单击侧边栏为表格充电,我在等待时设置了一个长超时计时器,即使表格已加载并在屏幕上,selenium 也找不到它。这是代码:

VeiculosBtn = WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="ext-gen43"]/li[2]/div/a/span')))
VeiculosBtn.click()

time.sleep(1)
aReceberBtn = WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="ext-gen45"]/li[1]/div/a/span')))
aReceberBtn.click()

time.sleep(10)

table_exist = WebDriverWait(browser, 60).until(EC.presence_of_element_located((By.XPATH, "//html/body/div[1]/div/div[2]/div/div[3]/div/div[1]/div/div[1]/div[2]/div/div[1]/table")))

第一次单击是选择在侧边栏加载表格的选项,然后应该是识别/与表格交互。但随后它停止识别元素在那里。

有人能帮我吗?

谢谢

标签: pythonselenium

解决方案


像下面这样的东西适用于 iframe。

WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.NAME,""))) 

或者

driver.switch_to.frame(driver.find_element_by_name(''))

推荐阅读