Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from appium import webdriver
- from appium.webdriver.common.touch_action import TouchAction
- caps = {}
- caps["platformName"] = "Android"
- caps["platformVersion"] = "5.1"
- caps["deviceName"] = "HUAWEI G9 plus"
- caps["automationName"] = "Appium"
- caps["app"] = "C:\\Users\\Will Turner\\Downloads\\snapchat.apk"
- caps["noReset"] = True
- driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
- #basic snapchat functions, from snippits
- #logout, must be at camera to use
- def logout():
- el1 = driver.find_element_by_id("com.snapchat.android:id/neon_header_profile_button_container")
- el1.click()
- driver.tap([(676, 64)]).perform()
- driver.press(x=378, y=976).move_to(x=11, y=-565).release().perform()
- driver.tap([(114, 1162)]).perform()
- el2 = driver.find_element_by_id("com.snapchat.android:id/yes_button")
- el2.click()
- from appium import webdriver
- from time import sleep
- #camera error shit
- #cameraError =
- #if driver.find_element_by_id("android:id/message").is_displayed():
- # cancelBtn = driver.find_element_by_id("android:id/button2")
- # cancelBtn.click()
- #else:
- # pass
- #betaWindow = driver.find_element_by_id("com.snapchat.android:id/yes_button")
- #if driver.find_element_by_id("com.snapchat.android:id/yes_button").is_displayed():
- # print("Beta window found, clicking yes..")
- # driver.find_element_by_id("com.snapchat.android:id/yes_button").click()
- #else:
- # pass
- # VARIABLES #
- # camera button is useless except for testing purposes since we're going to be posting photos from camera roll, etc.
- #cameraBtn = driver.find_element_by_accessibility_id("Take a snap, double tap and hold to take a video") # n\a
- #textBtn = driver.find_element_by_id("com.snapchat.android:id/vertical_tools_caption_btn") # text button for captions
- #clipBtn = driver.find_element_by_id("com.snapchat.android:id/vertical_tools_caption_btn") # button to attach links
- #sendToBtn = driver.find_element_by_id("com.snapchat.android:id/send_to_button") # button to send photos
- #saveBtn = driver.find_element_by_id("com.snapchat.android:id/save_button_complex_view") # button to save photos
- #exitBtn = driver.find_element_by_id("com.snapchat.android:id/preview_back_discard_button") # button to exit photo
- profileBtn = driver.find_element_by_accessibility_id("Profile")
- memoriesButton = driver.find_element_by_id("com.snapchat.android:id/nueva_nav_memories_icon")
- actions = TouchAction(driver)
- def goToMemories():
- memoriesButton.click()
- sleep(1)
- print("Pressed memories button")
- def pressCameraRoll():
- driver.tap([(520, 117)])
- print("Pressed camera roll button!!!")
- sleep(1)
- def scroll():
- #yes i know this is fucking greasy and could make a loop but im lazy
- # driver.execute_script("mobile: scroll", {"direction": "down", element: element.getAttribute("id")})
- # TouchAction().click(x=348, y=855).move_to(x=0, y=-56).release()
- TouchAction(driver).press(x=361, y=979).move_to(x=6, y=-37).release().perform()
- sleep(2)
- TouchAction(driver).press(x=361, y=979).move_to(x=6, y=-37).release().perform()
- sleep(2)
- TouchAction(driver).press(x=361, y=979).move_to(x=6, y=-19).release().perform()
- sleep(1)
- print("Scrolled!")
- #Picutre selection functions. Based on coordinates, so to view the next 12 pics, you would have to use the to be made scroll() function
- picData = "N/A"
- def selPicOne():
- driver.tap([(132, 299)])
- sleep(5)
- print("Selected grid picture one. Info: {}".format(picData))
- def selPicTwo():
- driver.tap([(346, 307)])
- print("Selected grid picture two. Info: {}".format(picData))
- def selPicThree():
- driver.tap([(588, 293)])
- print("Selected grid picture Three. Info: {}").format(picData)
- def selPicFour():
- driver.tap([(112, 530)])
- def selPicFive():
- driver.tap([(400, 522)])
- def selPicSix():
- driver.tap([(609, 550)])
- #make up to selPicTwelve
- #longpress to send to story
- def picLongPress():
- #just threw some random coords out there tbh, may need adjustment
- #driver.long_press([(346, 307)]).sleep(.3).release()
- actions.long_press([350, 300], .3).release().perform()
- def pressSendTo():
- driver.find_element_by_id("com.snapchat.android:id/send_to_button").click()
- goToMemories()
- pressCameraRoll()
- scroll()
- selPicTwo()
- #picLongPress()
- #end camera shit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement