我有"no such element: Unable to locate element"错误,尽管ID是100%正确的



我正在尝试点击" ok ";使用selenium和Python在弹出窗口上设置按钮但是出现错误"no such element: cannot to locate element">尽管我确信我的id是100%正确的。

> <a class="dxm-content dxm-hasText dx dxalink" href="javascript:;" role="menuitem" id="Dialog_PAC_Menu_DXI0_T"><span class="dx-vam dxm-contentText">OK</span></a>
我的python selenium代码:
Export2 = driver.find_element(By.XPATH,'//a[@id="Dialog_PAC_Menu_DXI0_T"]')
Export2.click()

我到底哪里出错了,我也尝试了完整的Xpath,等到可点击,时间睡眠。一切!

如果有人能帮我的话,我会很感激的。

嗯,看起来你找到了答案,那是因为你的元素在一个iFrame内,所以我将在这里发布一个答案,这样其他人可以找到一个简单的答案,如果他们看到你的问题。

tmpheader = driver.find_element(By.CSS_SELECTOR, "#modal > iframe")
driver.switch_to.frame(tmpheader)
Export2 = driver.find_element(By.XPATH,'//a[@id="Dialog_PAC_Menu_DXI0_T"]')
Export2.click()

这将我们正在寻找的当前驱动程序切换到页面上的第一个iFrame元素。如果有一个以上的iFrame,你需要检查更多的属性在第一行,以确保你正在寻找正确的一个

实际上,这就是我如何解决我的问题,因为我的元素是在一个iFrameJohn Gordon建议。

driver.switch_to.frame(driver.find_element(By.TAG_NAME,'iframe'))
slider = driver.find_element(By.XPATH,"//*[contains(@id,'_xaf_dviImportExportFormat_Edit_dropdown_DD_B-1Img')]").click()

最新更新