javascript - 在 Selenium Python 中更改元素的显示不起作用
问题描述
我想使用 Selenium 上传文件,但首先我需要使输入元素可见。它看起来像这样:
<input class="tb_sK" type="file">
我尝试通过以下代码使用 JavaScript 更改 style.display:
js = "arguments[0].style.display='block'"
driver.execute_script(js, upload_button)
输入现在看起来像这样,但仍然不可见:
<input class="tb_sK" type="file" style="display: block;">
我对 html 不是很熟悉,但是在 devtools 中,我看到了这个: 输入
element.style 中没有任何内容,“显示”在 .tb_sK 中。所以我认为我必须改变这一点。
我该怎么做 ?
解决方案
您可以尝试删除类属性:
driver.execute_script("arguments[0].removeAttribute('class')", upload_button)
这样输入就不会受到您在打印中显示的 CSS 规则的影响,因此将不再是不可见的。
推荐阅读
- vb.net - 改变 ListBox 的打字行为
- typescript - 变量已定义但从未使用过(no-unused-vars)
- c# - ASP.NET Core 3.0 Razor Datatables Ajax 不显示 JSon 数据
- spring-boot - 如何在 Spring BOOT WS 中返回 MTOM
- c++ - C++ - 确定 const char* 是否指向字符串文字或动态对象
- android - Android 9:如何从我的应用程序中的电话呼叫中获取背景音频
- x509certificate - 获取当前导入证书的指纹
- python-3.x - gensim.models.FatText.wv.wmdistance 如何计算两个文档之间的距离?
- node.js - 使用或过滤关键字
- snowflake-cloud-data-platform - 雪花中的 SNOWPIPE 是否 100% 可靠?