Python 如何修改contenteditable元素的innerHTML

Python 如何修改contenteditable元素的innerHTML,python,selenium,Python,Selenium,我正在使用Selenium和Chrome驱动程序以及python3.6来测试一个网站。 我在网页中有如下代码片段: <div tabindex="-1" class="_3F6QL _2WovP"> <div class="_39LWd" style="visibility: visible;">Type a message</div> <div class="_2S1VP copyable-text selectable-text" contented

我正在使用Selenium和Chrome驱动程序以及python3.6来测试一个网站。 我在网页中有如下代码片段:

<div tabindex="-1" class="_3F6QL _2WovP">
<div class="_39LWd" style="visibility: visible;">Type a message</div>
<div class="_2S1VP copyable-text selectable-text" contenteditable="true" data-tab="1" dir="ltr" spellcheck="true">*******</div>
</div>

键入消息
*******

我想将
******
替换为
Hello World在网页中使用Selenium。我该怎么做

将文本
******
替换为文本
Hello World由于元素是一个元素,您需要诱导WebDriverWait使元素可单击,并且您可以使用以下任一解决方案:

  • 使用
    CSS\u选择器

    element = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.copyable-text.selectable-text[data-tab='1']")))
    element.click()
    element.clear()
    element.send_keys("Hello World!")
    
  • 使用
    XPATH

    element = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[contains(@class,'selectable-text')][contains(.,'*******')]")))
    element.click()
    element.clear()
    element.send_keys("Hello World!")
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

    • 将文本
      ******
      替换为文本
      Hello World由于元素是一个元素,您需要诱导WebDriverWait使元素可单击,并且您可以使用以下任一解决方案:

      • 使用
        CSS\u选择器

        element = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.copyable-text.selectable-text[data-tab='1']")))
        element.click()
        element.clear()
        element.send_keys("Hello World!")
        
      • 使用
        XPATH

        element = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[contains(@class,'selectable-text')][contains(.,'*******')]")))
        element.click()
        element.clear()
        element.send_keys("Hello World!")
        
      • 注意:您必须添加以下导入:

        from selenium.webdriver.support.ui import WebDriverWait
        from selenium.webdriver.common.by import By
        from selenium.webdriver.support import expected_conditions as EC
        
      See的可能重复:对SO的期望是,用户提出问题时不仅要进行研究以回答自己的问题,还要分享研究、代码尝试和结果。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!See ALOW:See的可能重复:SO的期望是,用户提问时不仅要进行研究以回答他们自己的问题,还要分享研究、代码尝试和结果。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!另见: