import 'package:webdriver/sync_io.dart'; final WebDriver driver = createDriver( uri: Uri.parse('http://localhost:4444/wd/hub/'), desired: { 'browserName': 'msedge', 'ms:edgeOptions': { 'binary': r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" } }, spec: WebDriverSpec.Auto); driver.get('https://baidu.com/'); driver.addEventListener((event) { print(event); }); driver.timeouts.setScriptTimeout(const Duration(days: 7)); final result = driver.execute(''' location.reload(); return "Hello, World!"; ''', []); print(result);
我尝试过使用addEventListener
,但是这个函数似乎只能监听Flutter与WebDriver的通讯,无法监听浏览器事件
你的尝试已经非常接近了。addEventListener
函数可以监听浏览器事件,但是你需要监听的是Reload
事件,而不是Flutter与WebDriver的通讯事件。
在WebDriver中,你可以使用executeScript
方法来监听浏览器事件。以下是一个例子:
import 'package:webdriver/sync_io.dart';final WebDriver driver = createDriver( uri: Uri.parse('http://localhost:4444/wd/hub/'), desired: { 'browserName': 'msedge', 'ms:edgeOptions': { 'binary': r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" } }, spec: WebDriverSpec.Auto);driver.get('https://baidu.com/');driver.executeScript('return window.onbeforeunload') // 返回浏览器在刷新或关闭前触发的函数 .then((String functionDeclaration) async { print('functionDeclaration: $functionDeclaration'); });// 或者使用 executeScript 执行返回函数声明的操作driver.executeScript('window.onbeforeunload = function() { return "你确定要离开吗"; }') .then((dynamic result) { print('刷新页面'); driver.navigate().refresh(); });
注意:这种方法可能会因为浏览器或Flutter WebDriver的实现不同而无法工作。这只是一个可能的解决方案,并不能保证在所有情况下都能正常工作。
我试图为一个使用蓝牙进行通信的应用程序启动一个flutter项目。为此,我使用了flutter blue。 不幸的是,当尝试(在Android设备上)运行我创建的第一个示例时,遇到了以下错误: 如果我在Android Studio上,我会知道如何升级Android minSdkVersion,但在一个扑朔迷离的项目(使用VSCode)上,我有点迷失了。 是否有可能用颤振来增加最小Sdk版本,以及如
uniapp项目如何监听页面刷新
需要在一个页面上有多个listview。我已经学习了很多教程,但没有一个能给我完美的解决方案。 为了更多的理解。我正在打4个网络呼叫,所有的响应类型不同。我只需要在一页纸上展示它。在这里,人们展示了使用SingleChildScrollView或扩展的解决方案。但没有一种解决方案起作用。 我希望有人能帮我摆脱这一切。谢谢.
问题内容: 如何在Flutter中解码JSON? 问题很简单,但答案至少对我来说不是。 我有一个使用大量JSON字符串的项目。基本上,应用程序和服务器之间的整个通信是通过JSON进行的。 我一直在使用它来处理它,但今天我更新了Flutter核心(0.5.8-pre.178),并且JSON.decode不再可用。 我去了Flutter Docs寻求帮助,但仍然说要使用JSON.decode。 那么,
问题内容: 我想创建一个新闻应用程序,并且已将newsapi.org用作源。 我正在尝试获取Http库提供的JSON数据。 我在下面提供了完整的代码。 它不会给我任何错误,但不会加载任何数据,当我打印数据时,它可以打印所有内容,但无法显示。 我不是什么问题,但是我所有的项目都已停止解决此问题。 我正在寻找此代码的解决方案,因为它不起作用。 网络助手: 问题答案: 问题在于显示文章。yaa也正如@I
我正在处理一些奇怪的遗留代码。他们有一个实现JPanel的自定义对象。这个< code>JPanel对象是主应用程序中的第二个弹出屏幕。我遇到的问题是检测辅助弹出屏幕何时关闭。 我尝试为该类实现一个,但是当我尝试添加它时,没有与此对象关联的。我假设这是因为他们正在使用一个自定义对象,它是一个嵌入式弹出屏幕。 我尝试使用以下命令检索: 这在上失败。我不知道为什么在这个页面上检测右上角的“x”关闭按钮