2015-06-25 83 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

相关问题