2016-01-27 2 views
1

Я пытаюсь переключиться на фрейм, который позволяет мне вводить несколько слов.Переключитесь на кадр на STYLE?

HTML:

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

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

1-й код, который я попробовал:

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: Message: Unable to locate element: {"method":"css selector","selector":"br[_moz_editor_bogus_node=\"TRUE\"]"} Stacktrace:

Есть ли способ переключиться на рамку по стилю?

это не работает

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

ответ

0

Наиболее логичным подходом, учитывая то, что вы предоставили, было бы получить iframe элемент, имеющий нужный элемент внутри него:

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

вы имели в виду css_selector или XPath ? Что такое css_xpath? – royalblue

+0

@royalblue oops :) Думаю, я не должен делать 10 вещей одновременно, исправлено. – alecxe

Смежные вопросы