草庐IT

Selenium之截图方式

全部标签

javascript - D3.js - 以编程方式在 Jasmine 中生成拖动事件

我有一个使用D3和Angular编写的折线图组件。它具有用于更改x轴比例的可拖动条。现在我正在尝试使用Karma/Jasmine测试组件。我在单元测试中无法触发拖动事件。鼠标悬停和单击等其他事件也可以正常触发。我认为这是导致问题的d3中“拖动”事件的综合实现。这是我用来触发拖动的代码(此类代码在测试html页面上触发正确的d3拖动事件,但在单元测试中失败)。varleftBar=element.find(".left-bar")[0];varevObjStart=document.createEvent("MouseEvents");evObjStart.initMouseEvent(

javascript - Webpack 和以编程方式注入(inject)的内容脚本

我正在使用React和Webpack开发Chrome扩展程序。在此项目中,不同的模块将使用chrome.tabs.executeScript(null,{file:'content-script-file.js'})以编程方式注入(inject)内容脚本。这就成了问题,因为我使用Webpack来捆绑所有内容。基本上,后台脚本加载了一些模块,这些模块都配置为在特定情况下以编程方式注入(inject)内容脚本。但是,我不知道如何在捆绑的应用程序中“找到”这些内容脚本。它们从未被显式导入,只是在executeScript调用中被引用。同时contentscripts使用了React,所以需要

javascript - 以编程方式填充 ReactJS 输入的正确方法

我正在构建一个运行JavaFXWebkit的headless爬虫,它肯定没有chrome的v8强大。但是我最近遇到了一些问题,我试图输入一个值来对呈现的输入字段使用react。这是我到目前为止所做的但失败了。[注意:我无法控制源代码/React代码。因为我正在尝试抓取目标网站]jQuery-$('input.r_input').val("2");VanilaJS-document.querySelector("input.r_input").value="2";通过jquery触发器触发更改事件-change、blur、keyup、keydown等。创建一个手动事件,例如:event=

javascript - 如何以编程方式在 DataTables 中打开多行

我以为这个问题会得到解答,但我无法解决这个问题。尝试过:https://datatables.net/forums/discussion/25833/is-there-any-way-to-programmatically-select-rowshttps://datatables.net/reference/api/row().select()我在serverSide中使用DataTables1.10.16|模式-我的数据是通过ajax加载的,而不是在页面加载时加载的。我的标记只是一个带有ID#substancesTable的表格:IDECCASName加载数据的js如下:varsu

javascript - AngularJS 1.4.8 - 选择中的 ngOptions - 当我在 ngOptions 中的选项之前以编程方式设置模型时无限 $digest() 循环

我在从1.2.14迁移到1.4.8时遇到了这个问题。这在1.2.14中工作正常,但我在1.4.8中得到无限的$digest()循环。这是一个Fiddle证明问题。Fiddle比这篇文章更容易看,但它让我包含代码我有一个select看起来像这样的元素:我的选项是对象,像这样:$scope.options=[{id:1,label:'one'},{id:2,label:'two'}];我想为ngOptions指令提供的选项数组取决于条件;有时我只想给它$scope.options,但有时我想包括另一个选项。$scope.getOptions=function(){if($scope.sho

javascript - 未捕获的 TypeError : (0 , _reactRouter.withRouter) 在 react-router 2.4.0 中以编程方式导航到路由时不是函数

我正在使用react-router2.4.0并想以编程方式链接到另一条路线(我在使用之前所做的)。这在SOpost中有很好的解释他们在2.4.x中说的地方你应该使用withRouter的装饰模式,所以我使用以下代码:import{withRouter}from'react-router'//furtherimportsomittedclassCreateJobItemFormRawextendsReact.Component{...}constCreateJobItemForm=withRouter(CreateJobItemFormRaw)exportdefaultCreateJob

javascript - 以推荐的方式停止 Promise Chain 执行

这个问题在这里已经有了答案:Howtoproperlybreakoutofapromisechain?(3个答案)关闭5年前。我有一个类似于这个的代码:promise_function().then(()=>{//dosomethingreturnanother_promise_fucntion();}).then(()=>{//dosomethingreturnanother_promise_function1();}).then((result)=>{//checkifresultisvalidif(!result)//breakchain(howtostopcallingthen

javascript - 打包需要 jQuery 的 JavaScript 库的最佳方式?

我正在编写一个非常基本的JavaScript库,它使用jQuery的$.ajax()函数。我应该如何管理这种依赖性?我应该指示我的库的用户自己包含jQuery吗?我应该使用RequireJS或脚本标记插入之类的东西在库中加载jQuery吗?如果后者更好,如果用户已经在使用jQuery,我该如何做到这一点而不会引起冲突? 最佳答案 我认为这有点取决于你是否有更多依赖项,而不是jQuery。如果jQuery是您唯一的依赖项,并且您的库并不真正需要它自己的模块依赖项系统,我不会推荐RequireJS。只需检查您的库中是否存在jQuery,

javascript - 禁用 JavaScript 的 Selenium WebDriver 测试

如果浏览器中禁用了javascript(使用noscript),我们的一个内部应用程序(用angularjs编写)会出现一个特殊的错误框,类似于stackoverflow上的错误框:我正在尝试为其编写自动化测试,但遇到了困难。我们正在使用protractor,但我很确定这不是关于它的。这是Protractor配置文件:'usestrict';varhelper=require('./helper.js');exports.config={seleniumAddress:'http://localhost:4444/wd/hub',baseUrl:'http://localhost:90

javascript - 以编程方式更新 Angular 2 字段

我有以下工作正常的表单域。我的意思是,当我在字段中键入、粘贴等时,fooObj.expDate会实时更新并进行验证。我有预标记,可以让我自己明白这一点。{{fooObj.someDate|json}}SomeDate但是,我在这个字段上有someDate指令。该指令拦截粘贴事件。它取消粘贴事件,对输入进行一些奇特的格式化,然后执行此操作:setTimeout(()=>{this.target.value='lolfancydate';},3000);target.value是我的someDate字段。该值在输入框中得到了很好的更新(我看到它在输入内的屏幕上发生了变化)。但是,fooOb