gpt4 book ai didi

javascript - 在 Selenium WebDriver 中使用 execute_async_script

转载 作者:太空狗 更新时间:2023-10-30 03:05:57 29 4
gpt4 key购买 nike

我想使用 execute_async_script 命令(在 Selenium 远程网络驱动程序中)通过回调执行一些 JS。

在我当前的 selenium.selenium 模型设置中有类似的东西:

self.selenium = selenium("localhost", 4444, "*firefox", "http://localhost:8000")

但是我如何将 WebDriver 实现与 selenium.selenium 一起使用,以便调用 execute_async_script?

最佳答案

听起来您现在正在使用远程控制设置,是吗?您应该能够从该代码中实例化 WebDriver 实例,但您需要引用 WebDriver dll。您需要实例化浏览器驱动程序对象的实例(即:FirefoxDriver、InternetExplorerDriver、ChromeDriver 等),然后将您的 IWebDriver“驱动程序”属性设置为等于该实例。然后创建一个名为“js”(或任何你喜欢的)的接口(interface)对象作为 IJavaScriptExecutor 对象,并调用非静态方法“ExecuteScript”或“ExecuteAsyncScript”(在你的情况下)。

我下面的代码是在 C#.NET 中编写的(假设您使用的是 NUnit)。您必须找到 Python 实现,因为我不懂该语言。

类数据成员:

private IWebDriver driver;
private StringBuilder verificationErrors;
private string baseURL;

代码:

driver = new FirefoxDriver(new FirefoxProfile());
baseURL = "http://???"; // replace "???" with website domain
ISelenium selenium = new WebDriverBackedSelenium(driver, baseURL);
selenium.Start();

IJavaScriptExecutor js = driver as IJavaScriptExecutor;
js.ExecuteScript("$('#id').click();"); // assumes JQuery is used in page
js.ExecuteAsyncScript(...);

关于javascript - 在 Selenium WebDriver 中使用 execute_async_script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10080347/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com