Applescript loại bỏ giá trị thiếu và dữ liệu không mong muốn


0

Tôi đã tạo một tập lệnh để trả về một số thông tin thẻ tín dụng từ một trang web nội bộ

                            <a href=\"/web/Support.aa/aa/g55erefesfsfsf/4.g.g.5.24.54\">
                                CC<br>Info
                            </a>

                    ", "

                            Visa (9999)

                    ", "

                            Visa (8888)

                    ", "

                            Visa (7777)

                    ", "

                            Visa (666)

                    ", "

                            Alipay

                    ", missing value, missing value, missing value}

Tôi có hai vấn đề với kịch bản của mình,

  1. Tôi không thể thoát khỏi liên kết đầu tiên không phải là số CC đã thử: đặt myRawData thành các mục từ 2 đến -1 của myRawData thành chuỗi nhưng dường như không hoạt động.

  2. Tôi không quản lý để loại bỏ tất cả các giá trị còn thiếu.

  3. Tôi có thể xóa một số mục từ danh sách có chứa "không" không?

Đây là kịch bản đầy đủ của tôi

tell application "Google Chrome"
    tell active tab of window 1 to set myRawData to execute javascript "var outPut=[]; var arr=document.getElementsByClassName('sortable fraudScoringTransactionCCSummary');for (var i in arr) {outPut.push(arr[i].innerHTML)};outPut;"
end tell

## set myRawData to items 2 thru -1 of myRawData as string -- not working
set myNewList to {}

repeat with each from 1 to count of items of myRawData
    set itemOnMyList to item each of myRawData
    if itemOnMyList is in myRawData and itemOnMyList is not in myNewList then set end of myNewList to itemOnMyList
end repeat

## not sur
##set myNewList to items 2 thru -1 of myNewList  -- not working

set countHowManyCC to count myNewList


return countHowManyCC

Trước hết, nội dung đầu tiên được đặt trong một khối mã trong OP của bạn, thông tin được trả về không ở dạng listnhư được đăng vì nó thiếu một dấu ngoặc nhọn mở và một trích dẫn mở đôi {". Thứ hai, bạn đã hỏi "Tôi có thể xóa một số mục khỏi danh sách có chứa" không "không?", Không có mục nào trong đầu ra mà bạn đã đăng có chứa "không"! Bạn có lẽ thực sự có nghĩa là "giá trị thiếu"?
dùng3439894

Câu trả lời:


1

Sử dụng thông tin đầu ra được trả về được đăng trong OP của bạn trong khi thêm dấu ngoặc nhọn mở bị thiếu và trích dẫn kép mở {"để nó được biên dịch thành một ví dụlist sau đây, AppleScript lọc ra mục đầu tiên của danh sách cũng như các mục có trong để trả về một số lượng các mục đại diện cho dữ liệu . missing value

set myRawData to {"<a href=\"/web/Support.aa/aa/g55erefesfsfsf/4.g.g.5.24.54\">
                                CC<br>Info
                            </a>

                    ", "

                            Visa (9999)

                    ", "

                            Visa (8888)

                    ", "

                            Visa (7777)

                    ", "

                            Visa (666)

                    ", "

                            Alipay

                    ", missing value, missing value, missing value}


set myRawData to items 2 thru -1 of myRawData

set myNewList to {}
repeat with i from 1 to count myRawData
    if item i of myRawData does not contain missing value then
        copy item i of myRawData to end of myNewList
    end if
end repeat

return count myNewList

Ví dụ sau đây AppleScript thêm bộ lọc thứ hai để xử lý các mục có chứa "none":

set myRawData to items 2 thru -1 of myRawData

set myNewList to {}
repeat with i from 1 to count myRawData
    set thisItem to item i of myRawData
    if thisItem does not contain "none" then
        if thisItem is not missing value then
            copy item i of myRawData to end of myNewList
        end if
    end if
end repeat

return count myNewList

Lưu ý: Các ví dụ AppleScript đang chỉ là điều đó và không sử dụng bất kỳ xử lý lỗi và có nghĩa là chỉ hiển thị một trong nhiều cách để thực hiện một nhiệm vụ. Trách nhiệm luôn được Người dùng thêm / sử dụng xử lý lỗi thích hợp khi cần / muốn.


Điều đó dường như tạo ra một bản sao trên mục đầu tiên mỗi lần nhưng sau đó tôi đoán tôi có thể xóa mục nắm tay
Kevin

Nguy cơ @Low, Trong bình luận của bạn, bạn nói, "Đó dường như để tạo ra một bản sao vào mục đầu tiên mỗi lần nhưng sau đó tôi đoán tôi có thể loại bỏ các mục nắm tay" và tôi không thấy những gì bạn có nghĩa là ví dụ AppleScript đang làm không như vậy Điều! Nó loại bỏ mục đầu tiên của danh sách và bất kỳ mục nào có chứa missing valuevà hoàn toàn không có bản sao! Đó là tất nhiên không có bản sao trong danh sách khác sau đó missing value. Nói cách khác, danh sách ví dụ ban đầu chứa 9 mục, mục đầu tiên bị xóa, sau đó các missing value mục bị xóa do đó không để lại 5 mục!
dùng3439894

Tôi đang thử nghiệm dữ liệu trực tiếp với trang web nội bộ của mình và mục đầu tiên (sau khi URL bị xóa) được thêm hai lần vào danh sách, nhưng điều đó tốt vì tôi chỉ cần thêm "đặt myFinalList vào các mục từ 2 đến -1 của myFinalList "Và tôi thoát khỏi nó. Ý tôi là "Không" là một lúc nào đó khi tôi không có giao dịch với thẻ tín dụng, tôi có "Không" thay vào đó bằng văn bản và tôi cũng muốn loại trừ điều này khỏi danh sách của mình.
Kevin

@Low Risk, ví dụ AppleScript tôi đã đăng hoàn toàn không có mã hóa và cơ chế để sao chép một mục! Làm thế nào bạn thực hiện mã là một câu chuyện khác nhau tất cả cùng nhau! Bạn cần bắt đầu đăng các ví dụ có thể biên dịch phù hợp về đầu ra và mã của bạn và những gì bạn mong đợi đầu ra cuối cùng sẽ như thế nào! Bạn có muốn lọc ra các mục có chứa "không" hoặc chỉ "không"? Nếu chỉ là không thì đổi sang . Nếu cả hai, sau đó thêm một câu lệnh khác trực tiếp sau câu đầu tiên và trước dòng . missing valuemissing value"none"if copy ...
dùng3439894

@ Rủi ro, tôi đã cập nhật câu trả lời của mình để bao gồm các mục lọc có chứa "không".
dùng3439894
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.