我是cURL的新手,刚刚安装了它,但它似乎只是做了它的感觉.我正在使用我从这里获得的64位版本:http://curl.haxx.se/latest.cgi?curl = win64-ss-spi,其中包含我在此处找到的安装说明:http://guides.instructure.com/m/4214/l/83393-how-do-i-install-and-use-curl-on-a-windows-machine.打开一个新的Powershell窗口我可以使用这样的简单GET请求:
curl http://localhost:3000
Run Code Online (Sandbox Code Playgroud)
但如果我运行POST
curl -d "hello world" http://localhost:3000
Run Code Online (Sandbox Code Playgroud)
它告诉我"Invoke-WebRequest:参数无法处理,因为参数名称'd'不明确.可能的匹配包括:-DisableKeepAlive -Debug."
我试图获得帮助
curl -h or curl --help
Run Code Online (Sandbox Code Playgroud)
给我"Invoke-WebRequest:缺少参数'Headers'的参数.指定'System.Collections.IDictionary'类型的参数,然后再试一次."
正如我所提到的,我是一个cURL新手,但它似乎很奇怪,它可以得到请求,但没有别的.我有什么想法我做错了吗?
Windows 7 64位Powershell版本4
我希望那一天能找到你.
所以我有一个没有属性的对象.我正在尝试使用循环向此对象添加多个属性.添加到循环中的每个属性将多次出现在对象中,具体取决于循环运行的次数,每个新属性递增1.
所以我有这样的事情:
myObject = { };
for(i = 0; i < 2; i++){
myObject.propA + i = foo;
myObject.propB + i = bar;
};
Run Code Online (Sandbox Code Playgroud)
我希望得到这样的东西:
myObject.propA0 = foo;
myObject.propB0 = bar;
myObject.propA1 = foo;
myObject.propB2 = bar;
Run Code Online (Sandbox Code Playgroud)
根据循环运行的次数,提供动态生成的一堆好对象.但我似乎没有得到这个.那么在创建和分配变量时,我究竟如何将变量从循环中提供给属性?
我最近一直在使用Ruby chr和ord方法,有些事情我不明白.
我当前的项目涉及将单个字符转换为序数值.据我所知,如果我有一个字符串,其中有一个单独的字符,如"A",我调用ord它,我得到它在ASCII表上的位置是65.调用逆,65.chr给我字符值"A",所以这告诉我Ruby有一个有序字符值的集合,它可以使用这个集合来给我一个特定字符的位置,或者特定位置的字符.我可能错了,请纠正我,如果我.
现在我也明白Ruby的默认字符编码使用UTF-8,因此它可以使用数千个可能的字符.因此,如果我问这样的事情:
'?'.ord
Run Code Online (Sandbox Code Playgroud)
我得到那个字符的位置是22909.但是,如果我调用chr该值:
22909.chr
Run Code Online (Sandbox Code Playgroud)
我得到"RangeError:22909超出char范围." 我只能char处理最大为255的值,即扩展的ASCII.所以我的问题是:
chr从扩展的ASCII字符集中获取值,但是ord来自UTF-8?我正在努力自动化一个网站,该网站有许多通过JS事件加载新页面的链接.基本上,有些元素是可点击的,点击一个元素会导致一些JavaScript运行,这会导致表单被提交并路由到新页面.
现在,如果这些只是标准的HTML链接,那就没有问题,因为Selenium非常聪明,可以告诉他们有一个新页面即将来临并等待做事.但是,尽管如此,Selenium无法分辨出这个实例中的点击是否会导致新页面加载,因此它不会等待并且继续前进.因此它不会等待新页面,尝试查找不存在的元素,我的测试都会失败.游民.
作为临时解决方案,我只是将程序暂停三秒钟,如下所示:
oldPageDriver.clickThatButton();
try {
Thread.sleep(3000);
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
newPageDriver = new NewPageDriver(driver);
newPageDriver.doStuffOnNewPage();
Run Code Online (Sandbox Code Playgroud)
这有点工作.我不喜欢它,因为它是"hacky",只是打断程序而不是做一些更聪明的事情.因为延迟是在三秒钟硬编码,所以如果链接工作但是速度慢,我会失败.我已经考虑过类似于隐式等待的东西,但它完成了同样的事情,并且在经过大量研究后,我在Java中找不到可靠,可行的答案.
那么,任何人都可以建议解决这个问题吗?具体来说,如何让Selenium知道一个新的页面,并等到它可用?
curl ×1
encoding ×1
javascript ×1
loops ×1
object ×1
powershell ×1
properties ×1
ruby ×1
selenium ×1
webdriver ×1
windows ×1