假设我有一个方法m(),它将一个字符串数组作为参数.有没有办法在拨打电话时能够在线声明这个数组?即代替:
String[] strs = {"blah", "hey", "yo"};
m(strs);
Run Code Online (Sandbox Code Playgroud)
我可以用一行替换它,并避免声明一个我永远不会使用的命名变量吗?
我想用Java模拟一个自然的鼠标移动(从这里到像素逐行).要做到这一点,我需要知道起始坐标.
我找到了方法event.getX()和event.getY()但我需要一个事件......
如何在不做任何事情(或不可见的事情)的情况下知道这些职位?
谢谢
我正在将Selenium WebDriver与java.awt.Robot结合使用,以更好地模拟用户与Web应用程序的交互.是的,我知道这可能是不必要的,但我服务的客户要求它.
目前事情进展顺利,但我有一个小问题,我似乎找不到一个好的方法来获取屏幕位置的网页元素.标题栏,菜单栏,导航栏等内容都会将内容向下推到物理屏幕上(Robot从中获取坐标),但对Selenium报告元素的位置没有影响.
当我调用:element.getLocation();在Selenium WebElement上时,它总是给我相对于HTML内容呈现窗格的位置,而不是浏览器窗口本身.
更好的例证是:driver.findElement(By.tagName("body")).getLocation();无论窗口的实际屏幕位置如何,始终返回0,0.
现在我通过在最大化窗口后添加垂直和水平偏移来攻击它,但是这些在不同的浏览器之间是不一样的(例如,IE的顶部装饰占据了比Firefox更多的空间),并且对于每个用户可能是不同的如果他们有书签工具栏,搜索栏等添加.
是的,我知道我可以在全屏模式下运行,但是如果可能的话,我宁愿不这样做.
有没有办法使用WebDriver以可靠的方式获取元素的物理屏幕位置?