python - 使用 Selenium 将 javascript 发送到控制台
问题描述
我正在尝试使用 Selenium 向 JavaScript 控制台发送命令,但它不断返回None
driver.execute_script('ScavengeScreen')
如果我在 Firefox 控制台中输入“ScavengeScreen”,我会返回一个对象。
'ScavengeScreen' JavaScript 的更多信息:
<script>
$(function() {
Timing.whenReady(function() {
require(['Modules/ScavengeScreen/ScavengeScreen'], function(ScavengeScreen) {
var data = {...some json data...};
if (window.hasOwnProperty('ScavengingOverview') && window.ScavengingOverview.data_data.hasOwnProperty(data.data_id)) {
data = window.ScavengingOverview.data_data[data.data_id];
}
var screen = new ScavengeScreen(...some json data...);
screen.init();
window.ScavengeScreen = screen;
screen.updateInputs();
});
});
});
</script>
如何在 Selenium 中获得相同的结果?
解决方案
更改driver.execute_script('ScavengeScreen')
为driver.execute_script('return ScavengeScreen;')
。
推荐阅读
- python - 关于Python中的简单问题(数组)
- docker - Docker错误以交互方式启动容器
- visual-studio - 从 Visual Studio 2019 的 IntelliSense (c++) 中删除无用的东西
- c++ - 在构造函数中定义抽象类模板的静态数据成员
- reactjs - React Router 防止随机路由
- php - XAMPP 邮件返回 true 但没有消息 google smtp
- image - 无法显示来自 api 的图像响应
- linux - 自动列出所有 postgres-* 包并在 Linux 上删除它们
- python - 为什么这两个函数没有给我相同的答案?
- javascript - 带有 bulkWrite 的猫鼬 runValidator