2014-01-18 6 views
5

I持っフォーラムハンドルTinyMCEのウィンドウ

driver = webdriver.PhantomJS() 

Username = "username" 
Password = "password" 

driver.get(LoginPage) 
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "login"))) 

driver.find_element_by_name("usr").send_keys(Username) 
driver.find_element_by_name("pas").send_keys(Password) 

driver.find_element_by_id("login").click() 

payload = "some text" 

driver.get(ForumPage) 
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "submitbtn"))) 


driver.switch_to_frame("tinymcewindow_ifr") 
driver.find_element_by_id("tinymce").clear() 
driver.find_element_by_id("tinymce").send_keys(payload) 
driver.switch_to_default_content() 

driver.find_element_by_id("submitbtn").click() 

driver.quit() 

私は試してみて、それが正常に動作します(Firefoxなどの)別のブラウザを使用して何かをサイトにログインし、投稿するために、次のコードファントムは何も掲載されていません。

私が問題と考えることができるのは、ファントムが、私が望むように、煙草のテキストエリアを埋めるものではないということです。この問題の修正はありますか?

+0

あなたができると

driver.switch_to_frame("tinymcewindow_ifr") driver.find_element_by_id("tinymce").clear() driver.find_element_by_id("tinymce").send_keys(payload) driver.switch_to_default_content() 

がそのページをロードするために置き換えますか? pdbのようなデバッガを利用する。 – BigSack

答えて

3

tinymce js APIを使用してください。

driver.execute_script("tinyMCE.activeEditor.setContent('%s')" % payload) 
関連する問題