我正在将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>
我想在网页中使用Selenium将*******
替换为Hello World!
。我怎么做 ?
答案 0 :(得分:1)
要将文本*******
替换为文本Hello World!
,因为该元素是React元素,您需要将 WebDriverWait 引为元素,可以点击,您可以使用以下任一解决方案:
使用CSS_SELECTOR
:
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