小编Cos*_*inO的帖子

Selenium Webdriver submit()vs click()

假设我有input一个表单(看起来像一个按钮并像按钮一样交互),它生成一些数据(好吧,服务器根据表单参数生成数据,但对于用户,按钮就是:) :)基于关于表格中的参数.

当我使用时click(),整个过程挂起(它实际上冻结,没有异常或错误).

来自Selenium网站:

// Now submit the form. WebDriver will find the form for us from the element
element.submit();
Run Code Online (Sandbox Code Playgroud)

所以WebDriver有一个submit()方法.在使用click()按钮或submit()?之间,逻辑上是否有任何区别?

java selenium internet-explorer submit selenium-webdriver

52
推荐指数
4
解决办法
12万
查看次数

Selenium webdriver:查找具有相似id的所有元素

我有这个xpath: //*[@id="someId::button"]

按下它会显示值的下拉列表.

现在,我知道列表中的所有元素都有这样的id:

//*[@id="someId--popup::popupItemINDEX"]
Run Code Online (Sandbox Code Playgroud)

,其中INDEX是从1到任意数量的数字.

我也知道我必须点击的价值.

一个问题是:因为我将始终知道生成下拉列表的按钮的ID,我可以使用可重用的方法获取下拉列表中的所有元素吗?(我需要与多个下拉列表进行交互)

我想到的方式是:获取初始ID的根,如:

//*[@id="someId 
Run Code Online (Sandbox Code Playgroud)

然后加上其余的:--popup::popupItem.我还需要添加索引,我认为我可以使用try块(为了在我给出比预期更大的索引时得到异常),如下所示:

 for(int index=1;index<someBiggerThanExpectedNumber;index++){
     try{
         WebElement aux= driver.findElement(By.xpath(builtString+index+"\"]"));
         if(aux.getText().equals(myDesiredValue))
             aux.click();
     }catch(Exception e){}
 }
Run Code Online (Sandbox Code Playgroud)

请注意,我使用的是webdriver api和java.

我想知道这是否有效,如果有更简单的方法,我可以获得初步信息.

编辑:我建议的方式有效,但为了更容易的解决方案,应该看到接受的答案

java selenium xpath webdriver

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

Java - 如何使用其组件拖放JPanel

我有一个关于拖放的问题:我可以删除标签,文字或图标.但我想拖放一个JPanel及其所有组件(Label,Textbox,..等).

我怎样才能做到这一点 ?

java swing drag-and-drop

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

将包添加到Java项目结构中

我一直在当地的一个项目上工作,在某些时候我把这个项目交给别人去做.从那时起,我在自己的项目版本中创建了另一个包含类等的包.因为我希望其他人拥有这个包,所以我给了他在路径ProjectName/src/packageName中复制的包文件夹.当然,他没有马上看到它,所以我使用New-> Source Folder并刷新/清理/祈祷使它工作.

问题是:是否有其他方法可以将包添加到项目中?因为我不确定这是正确的解决方案.

java eclipse project package

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

跨站点脚本注入

我正在测试一个Web应用程序.我想编写一个XSS显示警报的脚本"Hello".

我写的第一个脚本是:

<script >alert("Hello");</script > 
Run Code Online (Sandbox Code Playgroud)

但没有显示警报"Hello".我发现有效的XSS脚本是

<SCRIPT >alert(String.fromCharCode(72,101,108,108,111,33))</SCRIPT >
Run Code Online (Sandbox Code Playgroud)

我想知道为什么第一个脚本不起作用.

javascript xss

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

奇怪的C++新运算符用法

在挖掘C++项目时,我遇到了C++ new运算符的奇怪用法:

int arr[5];
ClassA* a = new(arr) ClassA();
Run Code Online (Sandbox Code Playgroud)

你能帮我理解这个语法吗?

c++ new-operator

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

适用于JAVA的Sigar API(需要指南)

我已经下载了Sigar API(http://support.hyperic.com/display/SIGAR/Home),并希望在项目中使用它来获取有关正在运行的不同进程的信息.

我的问题是我无法找到一些有用的代码片段来学习,而且他们网站上的javadoc没有多大帮助,因为我不知道我应该寻找什么.

你有什么想法我可以找到更多信息吗?

java windows sigar

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

JAVA:了解调用静态方法的方法/类

我想知道在java中是否有办法找出调用某个静态方法的类/对象.

例:

public class Util{
 ...
 public static void method(){}
 ...
}

public class Caller{
 ...
 public void callStatic(){
   Util.method();
 }
 ...
}
Run Code Online (Sandbox Code Playgroud)

我能否知道是否Util.methodCaller课堂上打来电话?

java

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

Java对象数组的好奇心

为什么,如果你有,比方说,这些功能:

void func1(Object o){
      //some code
}
void func1(Object[] o){
      //some code
}
Run Code Online (Sandbox Code Playgroud)

你可以打电话,例如:

func1("ABC");
Run Code Online (Sandbox Code Playgroud)

不是:

func1({"ABC", "DEF"}); // instead having to write:
func1(new Object[]{"ABC", "DEF"});
Run Code Online (Sandbox Code Playgroud)

问题:为什么需要在数组上调用构造函数有什么特殊原因吗?

java

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

Jackson HashMap,写入字符串时忽略映射名称

考虑如下 JSON:

{"randomName1": {
    "knownfield1": "a",
    "knownfield2": [1,3,2,4]
},
"randomName2": {
    "knownfield1": "0.20",
    "knownfield2": [1,2,3,4]
}
Run Code Online (Sandbox Code Playgroud)

}

public class PojoForJson {

HashMap<String, PojoType1> map = new HashMap<>();

@JsonAnyGetter
public HashMap<String , PojoType1> pojoType1Getter(){
    return map;
}

@JsonAnySetter
public void pojoType1Setter(String key, PojoType1 value){
    map.put(key,value);
}
Run Code Online (Sandbox Code Playgroud)

}

如果我有

PojoForJson pojo = new ObjectMapper().readValue(jsonInput,PojoForJson.class);
Run Code Online (Sandbox Code Playgroud)

然后我尝试将其写回 Json,我必须调用并且它工作正常。

new ObjectMapper().writeValueAsString(pojo.getMap());
Run Code Online (Sandbox Code Playgroud)

现在,这是另一个 POJO 中的字段,我们将其称为 PojoMain:

@Builder     
public class PojoMain {
@Getter @Setter
private Type1 t1;
@Getter @Setter
private Type2 t2;
@Getter @Setter @JsonUnwrapped
private PojoForMap …
Run Code Online (Sandbox Code Playgroud)

java pojo jackson jackson-databind

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