Как изменить внутренний HTML в селене python - PullRequest
0 голосов
/ 06 августа 2020

Как изменить внутренний HTML в селене python, я попробовал код, но он не сработал, может кто-нибудь, пожалуйста, помогите мне.

xpath_desc = '//*[@id="cke_1_contents"]/div/p'
element = driver.find_element(By.XPATH, xpath_desc)
HTML = 'Hello World This is <a href="http://google.com">Google</a>'
driver.execute_script("arguments[0].setAttribute('innerHTML', {HTML}", element)

1 Ответ

1 голос
/ 06 августа 2020

Я попытался изменить innerHTML тега <p>, и я могу сделать это, используя приведенный ниже код.

Код HTML, который я использовал для воссоздания сценария -

<html>
<head>
    <title>ForTesting</title>
</head>

<body>
    <p id="myP">Change the Paragraph Here</p>
</body>
</html>

Код -

# Change the InnerHTML of a P Tag.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import ActionChains
import time

driver = webdriver.Chrome()
action = ActionChains(driver)

driver.get("URL")
time.sleep(5)

Para_Element = driver.find_element_by_id("myP")
print(Para_Element.text)
# driver.execute_script("var ele=arguments[0]; ele.innerHTML = 'Successfully Changed the Content';", Para_Element)

driver.execute_script("document.getElementById('myP').appendChild(document.createElement('a'))")
element = driver.find_element_by_tag_name("a")
driver.execute_script("arguments[0].setAttribute('href', 'https://www.google.com/')", element)
driver.execute_script("var ele=arguments[0]; ele.innerHTML = 'Google';", element)

Para_Element = driver.find_element_by_id("myP")
print(Para_Element.text)

Дайте мне знать, если у вас возникнут вопросы по этому поводу. Пожалуйста, возьмите ссылку из приведенного выше кода и попробуйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...