首页 > 解决方案 > 在 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 中。所以我认为我必须改变这一点。

我该怎么做 ?

标签: javascriptpythonseleniuminputdisplay

解决方案


您可以尝试删除类属性:

driver.execute_script("arguments[0].removeAttribute('class')", upload_button)

这样输入就不会受到您在打印中显示的 CSS 规则的影响,因此将不再是不可见的。


推荐阅读