问题标签 [execute-script]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python Selenium 一个隐藏的框架,有时与 java 脚本断言一起出现
我有一个通知,每周在我抓取的这个网站上出现几次。我无法绕过它。
我可以运行代码。
这清除了它,但如果我把它留在我的代码中,它会给我一个没有这样的元素异常。如果我尝试像这样将它包装在 try/catch 中的事件。
这也会清除它,如果它存在但如果它不存在,则错误。我假设我做错了什么,但我尝试了几个不同的版本,我总是得到错误,导致窗口挂起并停止脚本其余部分的执行。
任何想法都会很棒。
python - 将显示块设置为 xpath 找到的元素
我找到了我感兴趣的元素:
他们现在已经display
准备好了None
,我想向他们展示:
但是给了我js错误style is undefined
。我已经尝试过一些事情,例如link.style.display
orargument.style.display
但我真的不明白它应该如何工作。你能帮忙吗?
python - 动态网站通过类名查找元素并在 Python 中使用 Selenium 和 Chrome 执行与该类关联的 onclick 方法
我正在研究 Python、Selenium 和 Chrome 驱动程序。我有一个动态网站,每次网站加载时 ID 都会更改,因此我不能使用 Xpath。但我可以使用类名。我可以按如下方式上课;以下是网站的代码。
但是我可以执行以下操作;到达元素。
现在我想执行与该类关联的 onclick 方法。我也可以像下面那样做;
但正如我所提到的,我无法对 driver.execute_script 值进行硬编码。我应该动态获取值。请你帮助我好吗?如果你能建议一种方法,我可以通过类名找到元素并执行 onclick 方法。或者正如我提到的;我可以通过类名找到元素,如果我可以获得与元素关联的代码 (HTML),那么我可以执行 driver.execute_script。你能建议一个前进的方向吗?谢谢
javascript - Selenium - 在使用之前检查对象是否已定义
我正在尝试使用 selenium Web 驱动程序执行测试,其中一部分是等待在页面上定义我的对象。 注意:当我的对象可用时,DOM 中不会出现任何内容,并且无法更改它,因此请不要建议这样做。我需要使用控制台进行检查。
通常在页面加载完成后,我必须等待 0-5 秒之间的任何时间让我的对象存在,所以想法是循环window.myObject !== undefined
直到它通过,此时我确定我的对象存在并且我可以调用myObject.myFunctionCall()
. 如果我不执行此等待并myObject.myFunctionCall()
在页面加载完成后直接调用,我很有可能会收到myObject is not defined
.
当我从浏览器的控制台执行这些步骤时,结果非常好:
但后来我尝试使用 selenium 驱动程序 ( this.driver
) 执行此操作,代码如下:
它为我提供了以下打印输出,该打印输出不断重复,直到测试失败Error: function timed out, ensure the promise resolves within 30000 milliseconds
:
我在这里想念什么?有没有更好的方法来判断我的对象是否是使用 selenium web 驱动程序定义的?
datetime - java.sql.Timestamp 和 timedelta 中不支持的操作数类型“+”的 NIFI Executescript UTC 错误
我正在尝试在将一个月添加到我在即将到来的流文件中获得的日期的基础上将流文件拆分为多个流文件。
例如。{"to":"2019-12-31T00:00:00Z","from":"2019-03-19T15:36:48Z"} 是我在 flowfile 中获得的日期。所以我必须将此单个流文件拆分为 11 个流文件,其日期范围为
我一直在尝试使用示例输入将文件拆分为日常流文件:
`
`
但我的执行脚本处理器出现错误。nifi流截图
javascript - selenium.common.exceptions.JavascriptException:消息:TypeError:document.getElementsByClassName(...)[0] 未定义
我试图让程序滚动到特定的页面div
以加载其中包含的所有需要的元素。据我所知,JavaScript 代码是正确的,但它一直给我这个错误:
这是错误所指的行:
python - 使用python传输文件以执行脚本NiFi
我正在尝试使用 NiFi ExecuteScript 将消息发布到使用 Python 的 irc 聊天室。我是否使用正确的语法将流文件从队列传递到处理器?NameError 导致处理器错误:未定义全局名称“服务器”,但我不确定是什么原因造成的。在我添加 session.get() 之前,一切似乎都有效。
javascript - selenium.common.exceptions.InvalidSelectorException:消息:给定的 xpath 表达式通过 Selenium 在 scrollIntoView 中使用 xpath 无效
我使用 Python 来抓取一个带有需要滚动的过滤器窗格的网站。我找到了一个有助于滚动元素列表的代码,它实际上找到了一个列表并在循环中移动。
我的代码已经包含一个 for 循环,我只想添加一个需要滚动到的元素。使用上面我写的逻辑(一个循环被简化):
我不知道为什么它不起作用。这是我得到的错误:
有谁知道需要修复什么?最后一个代码中的 XPath 是正确的,并且已经在使用中。
我试图用“recentList 中的列表”替换我当前的循环,但是当它需要滚动过滤器上的页面时代码会停止。
apache-nifi - NIFI EXECUTESCRIPT 处理器失败 - 未找到模块
我正在尝试将模块导入 nifi 中的 executescript 处理器。正如建议的那样,我正在提供模块目录的完整路径。
示例:模块目录:/var/lib/nifi/Levenshtein --> 其中包含脚本所需的文件。
此外,在脚本中,我还设置了指向使用该模块目录的系统路径我的代码看起来像这样
当我使用上述代码运行处理器时,它失败了。
错误:第 3 行没有名为 Levenshtein 的模块。