【发布时间】:2021-03-31 00:58:21
【问题描述】:
切换到正确的框架后,我无法在框架内找到元素。这是我的代码、错误和 HTML 源代码。如果我右键单击框架并选择This Frame -> Show Only This Frame,那么我可以在default_content 中找到元素,但我需要在没有Show Only This Frame 的情况下找到它
browser.switch_to.default_content()
browser.switch_to.frame(browser.find_element_by_id('DialogFrame'))
browser.find_element_by_css_selector('#_ctl12_btnExportCSV')
错误堆栈跟踪:
NoSuchElementException Traceback(最近调用 最后)在 ----> 1 browser.find_element_by_css_selector('#_ctl12_btnExportCSV')
~\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py 在 find_element_by_css_selector(self, css_selector) 第596章 第597章 --> 598 返回 self.find_element(by=By.CSS_SELECTOR, value=css_selector) 599 600 def find_elements_by_css_selector(自我,css_selector):
~\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py 在 find_element(self, by, value) 中 974 by = By.CSS_SELECTOR 975 价值 = '[name="%s"]' % 价值 --> 976 返回 self.execute(Command.FIND_ELEMENT, { 第977章 第978章
~\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py 在执行(自我,driver_command,参数) 319 响应 = self.command_executor.execute(driver_command,参数) 320 如果响应: --> 321 self.error_handler.check_response(响应) 322响应['值'] = self._unwrap_value( 323 response.get('value',无))
~\anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py 在 check_response(self, response) 240 alert_text = value['alert'].get('text') 241 引发异常类(消息、屏幕、堆栈跟踪、警报文本) --> 242 引发异常类(消息、屏幕、堆栈跟踪) 243 244 def _value_or_default(self, obj, key, default):
NoSuchElementException:消息:无法定位元素: #_ctl12_btnExportCSV
HTML:
【问题讨论】:
标签: python selenium xpath iframe css-selectors