javascript - 用JS修改或删除一个textarea标签的显示属性值

标签 javascript python html css selenium

我正在使用 Python 3.8.0 和 Selenium 3.141 自动化 Web 表单

我有一个标签 textarea,我可以通过 ID 或名称访问它。我有一个我试图删除或修改的样式属性,称为“显示”,当前设置为“无”。我宁愿完全删除它或将其设置为“阻止”,以便我可以使用 Selenium 访问它。

我尝试使用的 javascript 是

document.querySelector("textarea[id='id']").removeAttribute("display");

对于 selenium,我正在执行

driver.execute_script("""document.querySelector("textarea[id='id']").removeAttribute("display");""")

不幸的是,当页面加载时,我没有看到预期的结果(与使用 inspect 元素手动删除 display:none 相比)。由于 texarea 框是隐藏的,当我尝试将键发送到文本区域时,Selenium 会抛出 is not reachable by keyboard 错误。

我的 JS 代码没有抛出任何错误,但我仍然认为它的格式不正确。我对 CSS 选择器代码或 JS 一般不太熟悉,不知道哪里出了问题,非常感谢您的帮助。

最佳答案

方法 removeAttribute 移除 HTML 属性,而不是 CSS。你需要使用 element.style.display = "block";

关于javascript - 用JS修改或删除一个textarea标签的显示属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59619478/

相关文章:

javascript - 自定义 HTML5 音频 API : Uncaught TypeError: undefined is not a function

python - 在 python 中匹配先前定义的组

python - 将 PyPy 的 Rpython 开发为通用编程语言

python - Pandas - 根据行值有条件地为新列选择数据源列

javascript - Html 对象标签 : access element in an html page

php - 为什么这个 Canvas 不显示?

javascript - 如何在 ES6 模板字符串中使用颜色?

c# - 如何根据用户输入 mvc5 设置 <div> 标签的样式

javascript - 使用 jquery 的响应式弹出 div

Javascript更改事件杀死点击事件