首页 > 解决方案 > 使用 Selenium Python 查找和替换 innerHTML 中的单词

问题描述

我想使用 Selenium 在网页的 html 中查找和替换一个单词

我试过这个没有成功:

driver.get("https://www.selenium.dev/")
time.sleep(1)
element = driver.find_elements_by_xpath("//*[contains(text(),'power')]")
driver.execute_script("arguments[0].innerText = 'example'", element)

标签: pythonselenium

解决方案


使用find_element_by_xpath而不是find_elements_by_xpath
这样您的代码将是

driver.get("https://www.selenium.dev/")
time.sleep(1)
element = driver.find_element_by_xpath("//*[contains(text(),'power')]")
driver.execute_script("arguments[0].innerText = 'example'", element)

此外,最好使用显式等待而不是硬编码的睡眠暂停

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

wait = WebDriverWait(driver, 20)
element = wait.until(EC.visibility_of_element_located((By.XPATH, '//*[contains(text(),"power")]')))
driver.execute_script("arguments[0].innerText = 'example'", element)


推荐阅读