【发布时间】:2021-03-24 05:54:26
【问题描述】:
对于网络驱动程序,我们可以执行包含自定义变量的 JavaScript 代码,如下所示:
driver.execute_script("alert('%s')" % variable) # an example introducing variable in alert()
但是如果我需要修改变量的内容,我必须在脚本中写入变量,该怎么办?
更具体地说,我面临以下问题:
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
在这段代码中,我必须在脚本中写入document.body.scrollHeight。但我想添加一个随机因子 [0-1] 与 document.body.scrollHeight 相乘,这样滚动似乎不会自动进行。为此,我尝试了以下方法:
import numpy as np
factor = float(np.random.uniform(0, 1))
driver.execute_script("window.scrollTo(0, %s);" % str(np.int(float(document.body.scrollHeight) * factor)))
但这不起作用。由于document.body.scrollHeight 在外面,因此程序找不到document。所以我想在脚本里面引入一个自定义变量factor。该怎么做?
【问题讨论】:
标签: python-3.x selenium automation