Javascript 使用Applescript查找两个常量之间的变量文本
我不熟悉applescript。我试图通过safari从网页向变量返回字符串。目标字符串更改,但前面和后面的单词是静态的 示例:苹果1293.34美元 “苹果”和“美元”永远不会改变,但我想要的只是介于两者之间的数字 元素没有ID,我也没有运气尝试使用Javascript通过类访问Javascript 使用Applescript查找两个常量之间的变量文本,javascript,string,applescript,webpage,Javascript,String,Applescript,Webpage,我不熟悉applescript。我试图通过safari从网页向变量返回字符串。目标字符串更改,但前面和后面的单词是静态的 示例:苹果1293.34美元 “苹果”和“美元”永远不会改变,但我想要的只是介于两者之间的数字 元素没有ID,我也没有运气尝试使用Javascript通过类访问 谢谢:)您应该首先找到您的元素 var element = document.getElementById("elementID"); 然后获得您的价值: var value = parseFloat(eleme
谢谢:)您应该首先找到您的元素
var element = document.getElementById("elementID");
然后获得您的价值:
var value = parseFloat(element.innerText.split(" ")[1])
您可以尝试解析Curl
set myUrl to "http://stackoverflow.com/questions/18633200/finding-variable-text-between-two-constants-with-applescript"
set xxx to do shell script "curl " & quoted form of myUrl & " | grep -o Apple.*USD | sed 's/Apple\\(.*\\)USD/\\1/'"
下面是给出文本的applescript方法。这并不意味着苹果在文本中只出现过一次。这将检查并找到苹果在2个单词后面跟USD的位置,然后得到它们之间的正确值
set theText to "USD some words Apple USD more words Apple 1293.34 USD some words Apple USD"
set {tids, AppleScript's text item delimiters} to {AppleScript's text item delimiters, "Apple"}
set textItems to text items of theText
set AppleScript's text item delimiters to tids
set theValue to missing value
repeat with i from 2 to (count of textItems)
set thisItem to item i of textItems
try
if word 2 of thisItem is "USD" then
set theValue to word 1 of thisItem
exit repeat
end if
end try
end repeat
return theValue
该元素没有ID。如果可以的话,在询问此类问题时,最好将其添加到指向所指站点的链接中。我希望有人能理解这一点。你能解释一下这里发生了什么吗?基本上,脚本开头的“文本项”内容将文本字符串转换为列表。该列表根据“苹果”一词分为几个部分。以下是列表:{“USD一些单词”,“USD更多单词”,“1293.34 USD一些单词”,“USD”}。然后我使用repeat循环对列表项进行迭代。我知道,如果其中一个列表项的第二个单词是“USD”,那么我已经找到了我要找的。。。因此,我返回该列表项的第一个单词。你可以看到第三项是我想要的,该项的第一个单词是“1293.34”。