1

我是applescript的新手。我正在尝试通过 safari 从网页将字符串返回给变量。目标字符串发生变化,但前后的单词是静态的。

例如:苹果 1293.34 美元

“Apple”和“USD”永远不会改变,但我想要的只是两者之间的数字。

该元素没有 ID,我没有运气尝试使用 Javascript 按类获取。

谢谢 :)

4

3 回答 3

0

你可以尝试解析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/'"
于 2013-09-05T12:18:09.590 回答
0

你应该首先找到你的元素。

var element = document.getElementById("elementID");

然后得到你的价值:

 var value = parseFloat(element.innerText.split(" ")[1])
于 2013-09-05T10:01:45.187 回答
0

这是给定文本的applescript方法。这并不假定 Apple 在文本中只出现一次。这将查看并找到 Apple 在 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
于 2013-09-05T14:07:41.770 回答