我有以下用于登录网站并在论坛中发布内容的代码
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 :(得分: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)