2015-06-25 84 views
0

我使用硒2.46.0和python 3.4 我想把字符串「你好,世界!」進入創建新字母的文本框。 我在做這個正確的方法嗎?我嘗試切換框架並找到正確的元素將文本放入其中。 我的代碼:如何將文本放入使用硒的文本字段中?

from selenium import webdriver 

browser = webdriver.Firefox() 
browser.get('https://mail.ru/') 
browser.find_element_by_name('Login').clear() 
browser.find_element_by_name('Login').send_keys('selenium90') 
browser.find_element_by_name('Password').clear() 
browser.find_element_by_name('Password').send_keys('pythonrocks') 
browser.find_element_by_id('mailbox__auth__button').click() 
browser.find_element_by_css_selector('a.b-toolbar__btn').click() 
browser.find_element_by_css_selector('textarea.js-input:nth-child(5)').send_keys('[email protected]') 

browser.switch_to_frame(browser.find_element_by_id('compose_462_composeEditor_ifr')) 
browser.find_element_by_class_name('mceContentBody').send_keys('Hello, world!') 

selenium.common.exceptions.NoSuchElement 異常:消息:無法找到元素:{ 「方法」: 「ID」, 「選擇器」: 「compose_462_composeEditor_ifr」}

我嘗試:

iframe = browser.find_elements_by_tag_name('iframe')[frameindex] 
browser.switch_to_frame(iframe) 
browser.find_element_by_css_selector('body.tinymce').send_keys('hoo') 

但它並沒有幫助

我加入樹的截圖: enter image description here

+0

[硒和WordPress:新的測試後]的可能重複(http://stackoverflow.com/questions/23999777/selenium-and-wordpress-new-post-test) – SiKing

回答

2

該元素的ID是動態生成的!嘗試是這樣的:

browser.switch_to_frame(browser.find_element_by_xpath('//frame[contains(@id, "composeEditor_ifr")]')) 
+0

SiKing,嗨,我試着用它。但它沒有幫助。 – ufo

+0

這個怎麼樣:http://stackoverflow.com/a/24061054/3124333 – SiKing

相關問題