使用 Selenium 修改 innerHTML

Posted

技术标签:

【中文标题】使用 Selenium 修改 innerHTML【英文标题】:Modify innerHTML using Selenium 【发布时间】:2016-06-25 15:18:49 【问题描述】:

我有这个元素:

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

我要做的就是在我的网页上更改这个innerHTML。 有可能吗?

【问题讨论】:

欢迎来到 Stack Overflow!为了在这里获得良好的接待,您应该展示您的尝试。你有没有尝试过改变innerHtml?你有没有在网上搜索过这样做的方法,如果有,你发现了什么?请edit您的问题并告诉我们您的发现和尝试。它可以在获得有用的答案和被否决和关闭之间产生差异。祝你好运! 【参考方案1】:

试试这个:

WebElement element = ...
((javascriptExecutor)driver).executeScript(
  "var ele=arguments[0]; ele.innerHTML = 'my new content';", element);

【讨论】:

【参考方案2】:

Selenium WebDriver 没有任何直接的方法来更改 DOM 本身。但是我们可以使用JavascriptExecutor 来使用javascript 来修改DOM。

检查this example 以更改背景颜色。你也会有一个想法来改变 innerHTML。

【讨论】:

【参考方案3】:

python 中使用这个:

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

【讨论】:

以上是关于使用 Selenium 修改 innerHTML的主要内容,如果未能解决你的问题,请参考以下文章

使用 Selenium 修改 HTML

使用 Selenium 修改 innerHTML

修改 selenium webdriver 的参数

如何修改selenium IDE以使用Id作为元素定位器

Python selenium - 修改网页的源代码

Selenium webdriver:修改 navigator.webdriver 标志以防止硒检测