小编par*_*eau的帖子

使用Selenium/Protractor Javascript切换到新窗口

寻找一些帮助,我将如何获得一个新的"弹出窗口"窗口,在我单击"登录"按钮后触发显示该窗口.

我能够在窗口显示时进入,但我不相信我目前用来抓取窗口"句柄"的代码工作正常.我的情况有点不同,因为我在我的页面中使用量角器,但新窗口出现的不是基于角度的,所以我必须切换到使用selenium WebDriver,而我在那个窗口.(任何人都知道这种方法是否存在问题?)

下面你可以找到我用来创建selenium驱动程序的代码片段,以及尝试"切换到/抓取句柄"弹出的新窗口的代码片段.我知道它无法正常工作,因为我一直在尝试在页面上查找表单的代码中收到"No Such Element"错误.

    // Create selenium webdriver / driver
    var webdriver = require('selenium-webdriver');

    var driver = new webdriver.Builder().
        withCapabilities(webdriver.Capabilities.chrome()).
        build();

  // Now make sure that the new window is popping up and we are navigating   correctly to it
      var handlePromise = browser.driver.getAllWindowHandles();
      handlePromise.then(function (handles) {
        // parentHandle = handles[0];
        var popUpHandle = handles[1];

        // Change to new handle
        browser.driver.switchTo().window(popUpHandle);

        var popUpHandleFinal = browser.driver.getWindowHandle();
        expect(popUpHandleFinal).toEqual(popUpHandle);
    });
Run Code Online (Sandbox Code Playgroud)

关于这个的事情:

  1. 如果我删除行"browser.driver.switchTo().window(popUpHandle)"中的"浏览器",那么它读作"driver.switchTo().window(popUpHandle)"我收到了回复,错误显示为"UnknownError" :未知错误:'name'必须是非空字符串"在对此进行一些搜索后,这是因为驱动程序上的"switchTo()"方法不能为null.如果我只使用上面显示的代码,则会清除此错误.

  2. 我不是100%确定我是否应该使用量角器(全局"浏览器"var)或使用我在此之前设置的直接"驱动程序"(Selenium)作为获取窗口的方式.

谢谢您的帮助

javascript selenium angularjs protractor

9
推荐指数
2
解决办法
2万
查看次数

COPY命令:仅复制csv中的特定列

我对COPYPostgreSQL中的命令有疑问.我有一个CSV文件,我只想将一些列值复制到我的PostgreSQL表中.

是否有可能做到这一点?我熟悉使用该COPY命令将CSV中的所有数据复制到表中,使用标题映射到列名称但是当我只想要一些列时,这怎么可能?

postgresql header postgresql-copy

7
推荐指数
1
解决办法
7168
查看次数

归档的evtx文件存储在哪里?

我知道您可以在事件查看器中查看任何evtx文件,但是当您使用该选项将它们归档到它们存储在哪个文件夹中时?

我知道我可以在C:\ Windows\System32\winevt\Logs中找到我所有的evtx文件,但是当我进入该文件夹时,我看不到任何存档文件.然后我再也不认为我的日志已经填满了甚至存档任何东西.

我在桌面上运行Windows 7 Home和Windows 7专业版.我想知道两者之间是否有任何区别.

这些文件刚刚命名为Archive-*吗?意思是存档这个词,然后是它们的来源(安全,应用程序等......)

预先感谢您的帮助.

logging event-viewer

5
推荐指数
1
解决办法
3万
查看次数

量角器单击隐藏元素"RangeError:超出最大调用堆栈大小"

我在尝试点击量角器测试中的隐藏元素时遇到问题.

下面是返回的错误消息,以及导致错误消息的代码段.任何关于为什么抛出这个错误的想法都将非常感激.

RangeError: Maximum call stack size exceeded


browser.driver.executeScript("return arguments[0].click()", bank_page.boaClick);
Run Code Online (Sandbox Code Playgroud)

并且"bank_page.boaClick()"被引用为页面Object上的变量,其片段如下所示:

 boaClick: { get: function () { return element.all(by.model('bankConnection.bank')).get(0); }},
Run Code Online (Sandbox Code Playgroud)

以下是我试图用该变量引用的片段:

<input type="radio" ng-model="bankConnection.bank" ng-value="bank" class="ng-valid ng-dirty" name="00D" value="[object Object]">
Run Code Online (Sandbox Code Playgroud)

我基本上只是想能够点击这个单选按钮,但是按钮是一个隐藏的元素,所以在线搜索后,第一个"browser.driver.executeScript"调用似乎是实现这一目标的最佳选择,但我得到了RangeError回来了,因为我已经实现了它.

angularjs angularjs-e2e protractor

5
推荐指数
1
解决办法
1688
查看次数

XML没有获取<camelContext>标记

这可能是一个简单的错误配置问题,但我的xml文档拿起我的标签时遇到问题.我收到了错误

"在这一行找到了多个注释: - cvc-complex-type.2.4.c:匹配的通配符是严格的,但是没有找到元素'camelContext'的声明. - 无法找到模式元素'camelContext'的Spring NamespaceHandler命名空间'http://activemq.apache.org/camel/"

但是当我添加命名空间时,我收到以下错误:

在此行找到多个注释: - cvc-complex-type.2.4.c:匹配的通配符是strict,但是找不到元素'camelContext'的声明. - schema_reference.4:无法读取模式文档"http://activemq.apache.org/camel/schema/spring/camel-spring.xsd",因为1)找不到文档; 2)文件无法阅读; 3)文档的根元素不是. - 无法找到模式名称空间"http://activemq.apache.org/camel/schema/spring"的元素"camelContext"的Spring NamespaceHandler

任何人都可以帮我弄清楚为什么我会遇到这两个问题?我不是xml或骆驼的专家,所以任何帮助将不胜感激.下面是我的简单xml文档:

<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="
      http://activemq.apache.org/camel/schema/spring     http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
      http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
      http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">



   <bean id="myrouter"      class="org.apache.camel.example.reportincident.ReportIncidentRoutes"/>



<!-- Camel Configuration -->

 <camelContext id="camel" xmlns="http://activemq.apache.org/camel/schema/spring">
    <routeBuilderRef ref="myrouter"/>


 </camelContext>

</beans>
Run Code Online (Sandbox Code Playgroud)

xml spring apache-camel xml-namespaces

4
推荐指数
1
解决办法
7752
查看次数

VBScript环境变量%COMPUTERNAME%

我正在寻找环境变量%COMPUTERNAME%的一些帮助.它在我的脚本中用作在本地主机名之后命名文件的方法.在另一点上,我使用脚本在网络上的不同目录中构建文件夹(到映射的驱动器),我需要将文件夹命名为原始计算机的本地主机名.这可能没有意义,但我将在下面提供一个例子:

Comp1 = BobPC
Comp2 = JakePC
Run Code Online (Sandbox Code Playgroud)

我正在BobPC上创建一个zip文件,然后将其复制到JakePC,但我需要将此文件复制到... C:\ CopiedFiles\BobPc这样的目录中,因为这个脚本将在许多计算机上运行,​​每个它们需要一个文件夹,文件将以其来自的计算机命名.

我希望这是有道理的.

现在我可以让它构建一个文件夹就好了但是它将它命名为"JakePC"显然是因为我使用环境变量来获取本地主机名.

我的问题基本上是如何告诉它在原始计算机之后命名文件夹?

如果您有任何问题让我知道,我将非常乐意解释,因为我知道我可能没有多大意义.

vbscript environment-variables

3
推荐指数
1
解决办法
2万
查看次数

在制表符中从制表符分隔的文件复制到表中

我正在使用复制命令将制表符分隔文件的内容和标题复制到postgres中的表中。我以前使用过副本,所以我知道它是如何工作的,但是我有一个问题,我该如何解决文件中丢失的一些数据。

我已经使表具有与标题中的值相同的列名。

我收到的文件中的某些“列”只是空白。我只是为了使命令起作用而放入了虚假数据,但这将每周自动进行。我想知道是否只是要告诉人们确保他们的数据正确,还是有办法告诉copy命令在空白数据处输入NULL。

我以为我可能必须放在空白选项卡中,并且该字段将作为空值,但是我不确定这是否是最佳做法。

postgresql copy tab-delimited

3
推荐指数
1
解决办法
8767
查看次数

Spring使用Apache Camel和Web服务开始

我开始尝试弄清楚如何在Spring框架中使用Apache Camel.我想要抓住的第一件事是运行简单的Web服务调用,但我不知道从哪里开始.

现在我所拥有的是一个基本的HelloWorld Spring项目,我正在尝试找出需要配置Apache Camel的明智之处以及从何处开始创建一个简单的Web服务.

我看了一下Apache网站上的例子,但我希望也许有人在这里知道一个教程,这是一个基本的开始,完成我想做的事情.

感谢您提供的任何提示或帮助!

spring web-services apache-camel

2
推荐指数
1
解决办法
4683
查看次数

XSL无法编译样式表

当我尝试运行我的程序时,我无法弄清楚为什么我一直收到错误"无法编译stlyesheet".我假设它在我的样式表中是一个错误,但我似乎无法找到它.

我可能只是看着它,但任何帮助将不胜感激.

谢谢!xsl可以在下面找到.


 <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
version="1.0">
  <xsl:output method="xml" indent="yes"/> 
   <xsl:template match="/"> 
 <PhoneBook> 
  <xsl:apply-templates/>
 </PhoneBook>
  </xsl:template>
<xsl:template match="AddressEntry">
<Entry>
  <xsl:apply-templates select="Name"/> 
  <xsl:apply-templates select="Address"/> 
</Entry>
</xsl:template>
<xsl:template match="Name">
<Name>
<xsl:apply-templates select="LastName"/>, 
<xsl:apply-templates select="FirstName"/> 
</Name>
</xsl:template>
 <xsl:template match="Address">
<LocatorInfo>
  <xsl:apply-templates select="PostalAddress/Street"/> 
  <xsl:apply-templates select="PostalAddress/City"/> 
 <xsl:apply-templates select="PostalAddress/PostalCode"/>
 <xsl:apply-templates select="Phone"/>
 </LocatorInfo>
 </xsl:template>
<xsl:template match="FirstName"> 
<xsl:value-of select="."/>
<xsl:value-of select="."/> 
</xsl:template>
 <xsl:template match="LastName">
<xsl:value-of select="."/>
</xsl:template>
 </xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

xml xslt

2
推荐指数
2
解决办法
1万
查看次数

从子串获取整数列

我有一个简单的问题,我怎样才能在整数上使用SUBSTRING?我目前有标记为"StoreID"的字段,其中包含一个5位整数(60008).我在查询此信息时尝试使用SUBSTRING删除6.当我使用类似的东西:

SUBSTRING('StoreID', 2, 6) 我收到一个错误,返回SUBSTRING(integer,integer,integer)说不存在.

我可以在postgres中使用另一个函数来完成我想要做的事情吗?

postgresql integer substring

2
推荐指数
2
解决办法
8385
查看次数

量角器getAttribute('value')返回null

我对Protractor相当新,并且在从错误框中获取文本时遇到一些困难,该错误框仅在满足某个条件时显示.

我确信这只是一个语法问题.下面是我用来尝试获取框中显示的"文本"的行,并将其与预设的静态字符串进行比较.

expect(element(by.css('[ng-switch-default=""]')).getAttribute('value')).toEqual(expected_error_message);
Run Code Online (Sandbox Code Playgroud)

我收到了回复的消息:

Message: Expected null to equal 'User with login test8827391@gmail.com' already exists.'
Run Code Online (Sandbox Code Playgroud)

所以基本上没有什么可以比较字符串,因为"getAttribute('value')应该抓取的值是返回null".

我引用的HTML块位于以下位置:

<div ng-class="config.message" ng-switch="" on="toaster.bodyOutputType"         class="toast-message"><div ng-switch-default="" class="ng-binding">User with login  'test8827391@gmail.com' already exists.</div></div>
Run Code Online (Sandbox Code Playgroud)

angularjs protractor

2
推荐指数
1
解决办法
7294
查看次数

检查 Mixpanel Javascript 中是否已存在“distinct_id”

有没有办法用 Javascript 检查 Mixpanel 中是否已存在先前的“distinct_id”?

我目前遇到一个问题,一旦有人完成我的入职流程并跟踪所有事件,如果他们注销并重新登录,则会在管理界面的“探索”部分中创建单独的记录。

我希望能够围绕我的初始登录事件添加一些逻辑,以确保检查“Distinct_id”是否已被使用,然后将登录事件绑定到同一用户,而不是在 Mixpanel 中创建一个全新的用户。

javascript mixpanel

2
推荐指数
1
解决办法
2671
查看次数

VBScript 环境变量

我有一个关于我应该如何修复运行脚本时看到的错误的问题。我很确定这与我使用 %COMPUTERNAME% 环境变量的方式有关。

我的脚本所做的是在本地压缩一些文件,然后使用 robocopy 将它们复制到已安装或共享的驱动器,然后检查文件大小是否相同,如果相同,则删除原始计算机上的文件。如果过程中的任何步骤产生错误,它就会退出脚本。

现在,如果我不将“%COMPUTERNAME%”添加到最终目标路径,脚本就可以正常工作。(压缩文件最终会在哪里)我需要将压缩文件放入它们自己的文件夹中,并使用它起源的主机的名称,因为此脚本将在许多不同的机器上运行,所有机器都将运行在同一位置。

所以基本上它需要看起来像这样:

E:\LocalHostName\TestZip.zip

现在脚本将在复制压缩文件时很好地构建文件夹,一旦文件大小检查开始就会出现问题。我收到“FileToBeCompared2”行的“找不到文件”错误。我明白为什么会产生错误,因为它没有识别 %COMPUTERNAME% 环境变量,但我不知道如何解决这个问题。

我还将尝试添加一些功能,如果发生错误,则会在输出文件夹中生成带有“脚本期间发生错误”之类的文本文件。

提前感谢您的所有帮助。该脚本在下面找到:

'-------------------------------------------------------------------------------------------
'This script is used to zip files locally, copy them to a new location, verify that the
'files were copied correctly, and then delete the files from the original source.
'In it's current state it is being used as a means to zip event files and move them
'to a central location.

'Run with administrator priveleges.

'-----------------------------------------------------------------------------------------------------
Option Explicit

Dim sDirectoryPath, sLocalDestinationPath, sFinalDestinationPath, sOutputFilename, Shell, …
Run Code Online (Sandbox Code Playgroud)

vbscript environment-variables

1
推荐指数
1
解决办法
8206
查看次数