通过STYLE切换到Frame?

时间:2016-01-27 18:32:52

标签: python html css selenium

我正在尝试切换到允许我输入一些单词的框架。

HTML:

 <iframe style="height: 170px; width: 407px;">
   #document
    <html webdriver="true">
       <head></head>
      <body>
           <br _editor_node="TRUE"</br>

  </body>
  </html>
  </iframe>

我试过的第一个代码:

driver.switch_to_frame(driver.find_element_by_tag_name('iframe'))
driver.find_element_by_css_selector('br[_moz_editor_bogus_node="TRUE"]').send_keys('hi')

我试过的第二个代码:

for handle in driver.window_handles:
        driver.switch_to.window(handle)

driver.switch_to_frame(driver.find_element_by_tag_name('iframe'))
driver.find_element_by_css_selector('br[_moz_editor_bogus_node="TRUE"]')

我的错误:

  

NoSuchElementException:消息:无法找到元素:{&#34;方法&#34;:&#34; css   选择&#34;&#34;选择器&#34;:&#34; BR [_moz_editor_bogus_node = \&#34; TRUE \&#34;]&#34;}   堆栈跟踪:

有没有办法按样式切换到框架?

这不起作用

driver.switch_to_frame(driver.find_element_by_css_selector('iframe[style="height:.177px;.width.407px;"]'))

1 个答案:

答案 0 :(得分:0)

根据您提供的内容,最合乎逻辑的方法是让iframe元素包含所需的元素:

frame = driver.find_element_by_xpath('//iframe[br[@_moz_editor_bogus_node="TRUE"]]')
driver.switch_to.frame(frame)