小编Kev*_*inO的帖子

用于返回列索引的XPath

我有以下html:

<html>
  <head>
    <body>
      <table>
       <tr>
      <td>Something Else</td>
      <td>Something</td>
    </tr>
    <tr></tr>
  </table>
</body>
Run Code Online (Sandbox Code Playgroud)

第一行第二列的xpath表达式为:

/html/body/table/tbody/tr/td[2]
Run Code Online (Sandbox Code Playgroud)

我想用selenium来获得值'2'.

换句话说,第一次出现文本"Something"的值是多少.我能够让selenium识别该元素但不返回值.

编辑:到目前为止一些很棒的答案.但让我澄清一下,这更像是一个硒问题,而不是一个xpath问题.我需要弄清楚如何让selenium返回这个值.

xml selenium xpath

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

DBUnit中的日志输出

我觉得这是我可以轻易搞清楚的,但我很难找到有关如何更改DBUnit日志级别的信息.任何人都可以为我解决这个问题吗?

dbunit

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

使用命令提示符调用子目录中的批处理文件

我想使用批处理文件来调用子目录中的其他批处理文件.例如,如果我的文件系统如下所示:

MainFolder
    main.bat
    FirstDirectory
    SecondDirectory
        foo.bat

那么main.bat可能看起来像这样:

echo on
REM This lines tells the user what this bat file is doing
call ant
call \SecondDirectory\foo.bat
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种我认为不存在的单线解决方案.不幸的是,我并不总是希望用批处理文件执行此操作,并希望直接从命令行执行此操作.

windows command-line batch-file

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

OSGi/Equinox,声明性服务和延迟加载

我正在尝试使用Declarative Services来创建一个服务包,为另一个包提供功能.但是,我希望我的服务提供程序包在需要之前不会启动.让我来描述一下我的情况.

有两个包:

-com.example.serviceprovider

-com.example.serviceconsumer

Service Provider捆绑包使用Declarative Services提供服务,如下所示:

<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" enabled="true"     immediate="true" name="samplerunnable1">
<implementation class="com.example.serviceprovider.SampleRunnable"/>
<service>
    <provide interface="java.lang.Runnable"/>
</service>
Run Code Online (Sandbox Code Playgroud)

服务使用者引用提供的服务如下:

<reference name="SampleRunnable"
    interface="java.lang.Runnable"
    bind="setRunnable"
    unbind="unsetRunnable"
    cardinality="1..n"
    policy="dynamic"/>
Run Code Online (Sandbox Code Playgroud)

当这两个捆绑包在启动时都处于"活动"状态时,服务使用者可以毫无困难地与服务提供商声明的服务进行通信.当我尝试让服务提供商以懒惰的方式开始时,问题就出现了.

服务提供程序设置为加载延迟后,这是我在OSGi控制台中得到的:

osgi> ss
  "Framework is launched."
  id      State       Bundle
  15      STARTING    com.example.serviceconsumer_1.0.0.X
  16      RESOLVED    com.example.serviceprovider_1.0.0.X
Run Code Online (Sandbox Code Playgroud)

我期望看到的是,即使捆绑16只是"已解决"它至少会注​​册的是服务.但是,当我调用"捆绑"命令时,它会声明"没有注册服务".

osgi> bundle 16
com.example.serviceprovider_1.0.0.X [17]
  Id=17, Status=RESOLVED    Data Root=C:\apache\apache-tomcat-.0.40\work\Catalina\localhost\examplesX\eclipse\configuration\org.eclipse.osgi\bundles\17\data
  "No registered services."
  No services in use.
  No exported packages
  Imported packages
     org.osgi.framework; version="1.7.0"<org.eclipse.osgi_3.8.0.v20120529-1548 [0]>
  No fragment bundles
  Named class space
    com.example.serivceprovider; bundle-version="1.0.0.X"[provided]
  No required bundles
Run Code Online (Sandbox Code Playgroud)

也许我已经错过了懒加载捆绑和服务注册的基本概念.如果捆绑包处于"已解决"状态,是否应该连接所有"连线"?(即,有一个类加载器,已解析的导入和导出依赖项和服务已注册.)如果服务使用者试图访问该服务,那么该bundle是否应该转换为"ACTIVE"状态?我在这里错过了什么?

java osgi lazy-loading declarative-services equinox

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

有没有办法内联 Unicode 转义序列?

这有效:

ghost=$'\U1F47B'
PROMPT='time: %T $ghost > '
Run Code Online (Sandbox Code Playgroud)

但是有没有办法内联 Unicode 字符的十六进制版本呢?

unicode bash hex zsh sh

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