如何使用 stringByEvaluatingJavaScriptFromString 在亚马逊上获取 ASIN 代码?
Posted
技术标签:
【中文标题】如何使用 stringByEvaluatingJavaScriptFromString 在亚马逊上获取 ASIN 代码?【英文标题】:How to get ASIN code on Amazon using stringByEvaluatingJavaScriptFromString? 【发布时间】:2015-09-15 08:25:12 【问题描述】:我无法使用 stringByEvaluatingjavascriptFromString 从亚马逊获取 ASIN。
“document.title”正在工作,但“document.getElementById”不工作。
我在 Chrome javascript 控制台上检查了我的 javascript 代码,它工作正常,但它在 iPhone 模拟器和真正的 iPhone 上不起作用。
有什么错误吗?[亚马逊网站]http://www.amazon.com/dp/1927925576/[.m 文件]
-(void)getAmazonASIN:(id)sender
// get Title: Working
NSString* amazonItemTitle = [self.AFFWEB stringByEvaluatingJavaScriptFromString:@"document.title;"];
NSLog(@"document.title: %@", amazonItemTitle);
// get ASIN: Not Working
NSString* amazonJavascript = @"document.getElementById('ASIN').value";
NSString* amazonItemASIN = [self.AFFWEB stringByEvaluatingJavaScriptFromString:amazonJavascript];
NSLog(@"ASIN: %@", amazonItemASIN);
NSString* amazonJavascript2 = @"document.getElementById(\"ASIN\").value";
NSString* amazonItemASIN2 = [self.AFFWEB stringByEvaluatingJavaScriptFromString:amazonJavascript2];
NSLog(@"ASIN2: %@", amazonItemASIN2);
[日志]
2015-09-15 00:50:03.857 AmazonASIN [32315:6669048] document.title: Persona 4 Volume 1 (Persona 4 Gn)
2015-09-15 00:50:03.859 AmazonASIN [32315:6669048] ASIN:
2015-09-15 00:50:03.860 AmazonASIN [32315:6669048] ASIN2:
[Chrome javascript 控制台]
>document.getElementById('ASIN').value
>"1927925576"
【问题讨论】:
【参考方案1】:iPhone加载亚马逊网站后,跳转到亚马逊移动网站如下: http://www.amazon.com/dp/1927925576/ -> http://www.amazon.com/dp/1927925576/ref=cm_sw_su_dp
在此页面上,来源显示 ASIN 是“asin”,而不是大写字母..
document.getElementById(“asin").value
谢谢!
【讨论】:
以上是关于如何使用 stringByEvaluatingJavaScriptFromString 在亚马逊上获取 ASIN 代码?的主要内容,如果未能解决你的问题,请参考以下文章
如何在自动布局中使用约束标识符以及如何使用标识符更改约束? [迅速]
如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?