2014-01-18 25 views
5

我在一個論壇手柄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),它工作正常的網站上登錄和發佈內容下面的代碼,但幻影沒有發佈。

我相信可能會是這個問題,幻影沒有填充tinymce textarea,因爲我希望它。有沒有解決這個問題?

+0

您可以加載頁面?使用像pdb這樣的調試器。 – BigSack

回答

3

使用tinymce js API。

更換

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.execute_script("tinyMCE.activeEditor.setContent('%s')" % payload)