在browser.execute_script() (Selenium, Python)中使用函数



我试图使用javascript代码内的控制台与硒python,但我不知道如何。下面是函数:

function login(token) {
setInterval(() => {
document.body
.appendChild(document.createElement `iframe`)
.contentWindow.localStorage.token = `"${token}"`
}, 50);
setTimeout(() => {
location.reload();
}, 2500);
}

login(token);

我想在browser.execute_script()中使用函数,但我不知道如何添加它。

您可以编写一个函数来创建脚本并将其作为字符串返回。然后,您可以在需要时调用driver.execute_script()来运行脚本。

这个应该可以工作:

def generate_login_script(token):
script = """
setInterval(()=>{{document.body.appendChild(document.createElement `iframe`)
.contentWindow.localStorage.token="{token}"}},50);
setTimeout(()=>{{location.reload()}},2500);
""".format(token=token)
return script
driver = webdriver.Chrome("D:chromedriver94chromedriver.exe")
driver.get("https://www.youwebsite.com")
driver.execute_script(generate_login_script("testToken"))

我已经在著名的searchenginethatstartswithg.com上测试过了,它可以工作。

相关内容

  • 没有找到相关文章

最新更新