python selenium如何仅在函数可用时执行_script
Posted
技术标签:
【中文标题】python selenium如何仅在函数可用时执行_script【英文标题】:python selenium how to execute_script only when function is available 【发布时间】:2022-01-18 20:18:48 【问题描述】:我想做
driver.execute_script('getDate();')
这个函数getDate()
是在网页的javascript中定义的。如何确保函数定义首先加载?否则我会收到一条错误消息javascript error: no such function...
更新:我的用例是有一个 datepicker 元素在某个时候调用此函数。我想用这个函数直接获取/设置日期,而不是编写代码来查找日期选择器元素,点击日、月、年等,我觉得会很复杂
【问题讨论】:
使用元素的相关 html 更新问题。 只是好奇这些信息对解决方案有何帮助?如果它有帮助,基本上有一个 datepicker 元素会在某个时候调用这个函数。我想用这个函数直接获取/设置日期,而不是编写代码来查找日期选择器元素,点击日、月、年等,我觉得这很复杂 【参考方案1】:您可以尝试使用等待直到:
// waituntil
while (typeof getDate !== "function")
task(i); // timeout
function task(i)
setTimeout(function()
// Add tasks to do
, 2000 * i);
// now call getDate
getDate();
【讨论】:
谢谢,但我认为如果该函数尚不存在,这将跳过调用该函数?我想等到函数存在后再调用它。 我明白了,这对我来说并不清楚。我稍后会调整那个答案 好的,我已经更新了答案以上是关于python selenium如何仅在函数可用时执行_script的主要内容,如果未能解决你的问题,请参考以下文章
Python 3.4 cx_freeze [WinError 5] 使用 Selenium - 仅在其他机器上
如何使用 selenium java/python 确定元素是不是在特定时间显示在屏幕上?
异步函数仅在面向 ECMAScript 2015 或更高版本时可用