处理与python,selenium和phantomjs的tinymce窗口

use*_*502 5 python selenium phantomjs

我有以下代码登录网站并在论坛中发布内容

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()
Run Code Online (Sandbox Code Playgroud)

当我尝试使用另一个浏览器(如firefox)时,它工作正常,但幻像中没有任何内容发布.

我认为可能是问题的是,幻影并没有像我想要的那样填充了文本区域.这个问题有什么问题吗?

Jan*_*nis 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()
Run Code Online (Sandbox Code Playgroud)

driver.execute_script("tinyMCE.activeEditor.setContent('%s')" % payload)
Run Code Online (Sandbox Code Playgroud)