12

I have this element:

WebElement element = ...
string val = element.getAttribute("innerHTML");

All I want to do is to change this innerHTML on my web page.
Is it possible?

1
  • Welcome to Stack Overflow! In order to get a good reception here, you should show what you have tried. Have you tried some things to change the innerHtml? Have you searched the web for ways of doing this, and if so, what have you found? Please edit your question and tell us what you've found and what you've tried. It can make the difference between getting useful answers and getting downvoted and closed. Good luck! Commented Mar 10, 2016 at 18:32

3 Answers 3

26

Try this:

WebElement element = ...
((JavascriptExecutor)driver).executeScript(
  "var ele=arguments[0]; ele.innerHTML = 'my new content';", element);
Sign up to request clarification or add additional context in comments.

Comments

7

Selenium WebDriver does not have any direct methods to do so to change the DOM itself. However we can use JavascriptExecutor to use javascript to modify the DOM.

check this example to change the background color. You will get an idea to change the innerHTML as well.

Comments

6

in python use this :

element = driver.find_element_by_id("some_id")
driver.execute_script("arguments[0].innerText = 'what_you_want_to_show'", element)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.