javascript - 在python中设置CSS样式
问题描述
这是我的代码(没有进口和东西):
driver.get('http://democaptcha.com/demo-form-eng/hcaptcha.html')
time.sleep(3)
driver.execute_script("document.getElementsByName('h-captcha-response').style.display='none';")
但这给我带来了错误:
selenium.common.exceptions.JavascriptException:消息:javascript 错误:无法设置未定义的属性“显示”
当我做:
driver.execute_script("document.getElementById('h-captcha-response-0zu3aawejggj').style.display = 'block';")
它向我显示了错误
selenium.common.exceptions.JavascriptException:消息:javascript 错误:无法读取 null 的属性“样式”
(代码参考)
Selenium (with python) 如何修改一个元素的css样式
如何使用 selenium python 更改/删除样式属性?
谢谢!
解决方案
这是因为它找不到元素。可能是因为ID
每次页面加载都在不断变化。另一种选择可能是
driver.execute_script("document.querySelector(`[id^='h-captcha-response']`).style.display = 'block'");
这意味着它将找到以ID
开头的第一个元素h-captcha-response
。
推荐阅读
- javascript - 初始拒绝后在JS中重新提示相机权限
- c# - 使用 Caliburn Micro 绑定到 VM 时无法将子项添加到 Grid
- angular - 类型为日期的输入在 Safari 中不起作用任何角度的替代方案?
- javascript - 每次使用 Vue js 时,Webcomponents 都会重新初始化
- python-3.x - 使用 Python 将 JSON 数据插入 DynamoDB 时出错
- javascript - 反应不呈现答案
- regex - Python正则表达式忽略引号之间的内容
- android - Android Studio - 选择一个不显示我存储在可绘制文件夹中的图像的资源窗口
- json - 如何从 Ionic v3 中的 API 调用解析 Json 数据响应并存储在 localStorage
- jsxgraph - 如何强制调用标签自动定位算法?