social-selectors
Version:
A library of selectors for CSS elements on social media sites.
1 lines • 4.4 kB
JSON
{"global":{"isOnPage":{"url":"/instagram\\.com/"},"isEnglish":{"object":{"selector":"html[lang*='en']"}},"isLoggedOut":{"selector":"","object":{"selector":"nav a, main button","filters":[{"match":{"innerText":"/Log In|Sign Up|Continue as/i"}}]}},"profilePicture":{"object":{"selector":"img[alt*='s profile']","retrieve":["alt"],"index":0}},"isPopupOpen":{"selector":"div[role='presentation'] TODO"},"searchBar":{"object":{"selector":"a svg[aria-label='Search']","positionMethod":"bounding","retrieve":["value"],"index":0}},"searchBar_item":{"object":{"selector":"[role='none'] a","filters":[{"splice":[0,5]}],"index":"$random"}},"notificationsReminder_disable":{"object":{"selector":"button","filters":[{"match":{"innerText":"/Not Now/i"}}]}},"postLink":{"selector(array)":"a[href*='/p/'] > div div:nth-child(2)"}},"home":{"isOnPage":{"url":"/instagram.com($|\\/$|\\?|\\/\\?|\\#|\\/\\#)/"},"continueAsButton":{"object":{"selector":"button","filters":[{"match":{"innerText":"/Continue as/i"}}]}}},"search":{"isOnPage":{"url":"/instagram\\.com\\/explore/"}},"profile":{"isOnPage":{"selector":"svg[aria-label='Options']"},"isPrivate":{"object":{"selector":"main h2","filters":[{"match":{"innerText":"/This Account is Private/i"}}],"index":0}},"followButton":{"object":{"selector":"header button","filters":[{"match":{"innerText":"/Follow$|Follow back$/i"}}],"index":0}},"followerCount":{"object":{"selector":"header li a","filters":[{"match":{"innerText":"/followers$|follower$/i"}}],"index":0}},"followingCount":{"object":{"selector":"header li a","filters":[{"match":{"innerText":"/following$/i"}}],"index":0}},"postCount":{"object":{"selector":"header li div","filters":[{"match":{"innerText":"/ posts$| post$/i"}}],"index":0}},"viewFollowersButton":{"object":"$get(profile.followerCount.object)"},"viewFollowingButton":{"object":"$get(profile.followingCount.object)"}},"profile_followers":{"isOnPage":{"url":"/\\/followers/"},"isEmpty":{"selector":""},"profileLink":{"selector(array)":"div[role='dialog'] a"}},"profile_following":{"isOnPage":{"url":"/\\/following/"},"isEmpty":{"selector":""},"profileLink":{"selector(array)":"$get(profile_followers.profileLink.selector(array))"}},"post":{"isOnPage":{"url":"(instagram.com\\/p\\/.*?)($|\\/$|\\/|\\?|\\/\\?|\\#|\\/\\#)"},"isLoaded":{"object":"div:is([role=presentation], [role=dialog]) section button svg[aria-label='Share Post']"},"isVideoPost":{"selector":"main article video"},"isLiked":{"selector":"div:is([role=presentation], [role=dialog]) section button svg[aria-label='Unlike']"},"followButton":{"object":{"selector":"div:is([role=presentation], [role=dialog]) button","filters":[{"match":{"innerText":"/Follow$|Follow back/i"}}],"positionMethod":"bounding"}},"likeButton":{"object":{"selector":"div:is([role=presentation], [role=dialog]) section button svg[aria-label='Like']","index":"$last","positionMethod":"bounding"}},"videoPlayer":{"selector":"$get(post.isVideoPost.selector)"},"videoPlayButton":{"selector":"$get(post.isVideoPost.selector)"},"commentButton":{"object":{"selector":"div:is([role=presentation], [role=dialog]) textarea[placeholder*='comment']","positionMethod":"bounding"}},"commentButton_confirmButton":{"object":{"selector":"div:is([role=presentation], [role=dialog]) form[method*='POST'] div[role='button']","index":1,"positionMethod":"bounding"}},"likeCount":{"object":{"selector":"div:is([role=presentation], [role=dialog]) a[href*='liked_by']","index":"$last","positionMethod":"bounding"}},"postDate":{"object":{"selector":"div:is([role=presentation], [role=dialog]) a[href*='/p/'] time","retrieve":["datetime"],"index":"$last"}},"postHeader":{"object":{"selector":"div:is([role=presentation], [role=dialog]) article header"}},"commentProfileLink":{"object":{"selector":"div:is([role=presentation], [role=dialog]) article a img","filters":[{"splice":[1,4]},{"isVisible":true}],"index":"$random"}},"viewLikesButton":{"object":"$get(post.likeCount.object)"}},"post_likes":{"isOnPage":{"object":{"selector":"div[role='dialog'] h1","filters":[{"match":{"innerText":"/Likes/i"}}],"index":0}},"profileLink":{"object":{"selector":"div:is([role=presentation], [role=dialog]) div[style*='overflow: hidden'] a","filters":[{"splice":[0,4]}],"index":"$random"}}},"error":{"timeout":{"object":{"selector":"body","filters":[{"match":{"innerText":"/wait a few minutes/i"}}]}},"isOffline":{"selector":"NOT_IMPLEMENTED_YET"}}}