コード例 #1
0
ファイル: tools.py プロジェクト: MetaNovitia/code
def post(ext="py"):
	site["checker"].upload(
		saveSolution, 
		f"{root}/work-folder/code/code.{ext}",
		cache["link"],
		driver.getDriver(cache),
		root
	)
コード例 #2
0
def getComplaintDetails(urls, driver_no):
    driver = getDriver(driver=WEB_DRIVER, driver_no=driver_no)
    login(driver)
    print(
        f'[{driver_no}] >> Begin Crawling Complaint Details for {len(urls)} pages...'
    )

    mongo = MongoHelper()
    complaints = []
    exception_count = 0
    timeout_exception_count = 0
    page_count = 0
    for url in urls:
        # restart when come across too many timeouts
        if timeout_exception_count >= RESTART_TIMEOUT_EXCEPTION_COUNT:
            print(
                f'[{driver_no}] >> Timeout Excepiton reach {RESTART_EXCEPTION_COUNT}, trying to restart program!'
            )
            restart_program()
        elif exception_count >= RESTART_EXCEPTION_COUNT:
            print(
                f'[{driver_no}] >> Exception reach {RESTART_EXCEPTION_COUNT}, trying to restart program!'
            )
            restart_program()

        page_count += 1
        print(f'\n[{driver_no}] >>>> Complaint {page_count}, URL: {url}')
        try:
            time.sleep(SLEEP_NEXT_COMPLAINT)
            complaint = getComplaintDetail(url, driver, driver_no)
            print(complaint)
            complaints.append({'url': url, **complaint})
        except Exception as e:
            print(
                f'[{driver_no}] >>>> Got Exception: {traceback.format_exc()}, URL: {url}'
            )
            exception_count += 1
            if type(e) == TimeoutException:
                timeout_exception_count += 1

        complaint_count = len(complaints)
        if complaint_count == SAVE_COMPAINT_BATCH:
            print(
                f'\n[{driver_no}] >> Writing {complaint_count} complaints to mongo...'
            )
            mongo.update(complaints)
            complaints = []

    # update remaining results
    if len(complaints) != 0:
        mongo.update(complaints)
        print(
            f'\n[{driver_no}] >> Writing {len(complaints)} complaints to mongo...'
        )
    else:
        pass
    print(f'[{driver_no}] >> All Complaints Crawling Completed!')
コード例 #3
0
def test_lines():
    www_driver = driver.getDriver()
    www_driver.get(configure.www_root + "lines.html")
    log = www_driver.find_element_by_id("logarea")

    worked = False
    for i in range(20):
        if ("Model loaded successfully" in log.text):
            worked = True
            break
        time.sleep(0.5)

    assert(worked)
    driver.noSevereErrors(www_driver)
    www_driver.close()
コード例 #4
0
def test_copypaste():
    www_driver = driver.getDriver()
    www_driver.get(configure.www_root + "copypaste.html")
    log = www_driver.find_element_by_id("log")
    
    worked = False
    for i in range(20):
        if ("Model loaded successfully" in log.get_attribute("value")):
            worked = True
            break
        time.sleep(0.5)

    assert(worked)
    driver.noSevereErrors(www_driver)
    www_driver.close()
コード例 #5
0
ファイル: test_tests.py プロジェクト: billthefish/brigl
def test_jquery_1():
    """
    This should work properly.
    """
    www_driver = driver.getDriver()
    www_driver.get(configure.www_root + "test/test_jquery_1.html")
    log = www_driver.find_element_by_id("logarea")

    worked = False
    for i in range(20):
        if ("Model loaded successfully" in log.text):
            worked = True
            break
        time.sleep(0.5)

    assert (worked)
    driver.noSevereErrors(www_driver,
                          ignore_404=["p/3010.dat", "p/s/3010s01.dat"])
    www_driver.close()
コード例 #6
0
def test_error_handling():
    www_driver = driver.getDriver()
    www_driver.get(configure.www_root + "error.html")

    worked = False
    try:
        WebDriverWait(www_driver, 3).until(EC.alert_is_present(),
                                           'Timed out waiting for PA creation ' +
                                           'confirmation popup to appear.')

        alert = www_driver.switch_to.alert
        alert.accept()
        worked = True
        
    except TimeoutException:
        pass

    assert worked, "Alert handling failed."
    www_driver.close()    
コード例 #7
0
def test_starting_matrix_3():
    """
    String of values in LDraw transform format.
    """
    www_driver = driver.getDriver()
    www_driver.get(configure.www_root + "test/test_starting_matrix_3.html")
    log = www_driver.find_element_by_id("logarea")

    worked = False
    for i in range(20):
        if ("Model loaded successfully" in log.text):
            worked = True
            break
        time.sleep(0.5)

    assert (worked)
    driver.noSevereErrors(www_driver,
                          ignore_404=["p/3010.dat", "p/s/3010s01.dat"])
    www_driver.close()
コード例 #8
0
def test_animation():
    www_driver = driver.getDriver()
    www_driver.get(configure.www_root + "anim.html")
    log = www_driver.find_element_by_id("logarea")
    select = Select(www_driver.find_element_by_xpath("/html/body/select[1]"))

    for option in select.options:
        option.click()

        worked = False
        for i in range(20):
            if ("Model loaded successfully" in log.text):
                worked = True
                break
            time.sleep(0.5)
        
        assert(worked)
        driver.noSevereErrors(www_driver)
        
    www_driver.close()       
コード例 #9
0
ファイル: test_tests.py プロジェクト: billthefish/brigl
def test_jquery_2():
    """
    This should create an alert box due to missing parts.
    """
    www_driver = driver.getDriver()
    www_driver.get(configure.www_root + "test/test_jquery_2.html")

    worked = False
    try:
        WebDriverWait(www_driver, 3).until(
            EC.alert_is_present(), 'Timed out waiting for PA creation ' +
            'confirmation popup to appear.')

        alert = www_driver.switch_to.alert
        alert.accept()
        worked = True

    except TimeoutException:
        pass

    assert worked, "Alert handling failed."
    www_driver.close()
コード例 #10
0
def play_with_bot():
    from dating.bot import Bot
    from driver import getDriver

    b = Bot(getDriver())
    b._totalLikes
コード例 #11
0
ファイル: executable.py プロジェクト: thokiman/Tinder-Bot
# Author: Stan Fortoński
# Date: 02.05.2020
# Proper Executable

from random import random
from driver import getDriver
from tinder.login.tinderlogin import TinderLogin
from tinder.tinderbot import TinderBot
from tinder.finder.instagramfinder import InstagramFinder
from tinder.finder.snapchatfinder import SnapchatFinder
from selenium.common.exceptions import NoSuchElementException
from tinder.config import Config
from time import sleep

driver = getDriver()
login = TinderLogin(driver)
bot = TinderBot(driver)
igFinder = InstagramFinder(driver)
snapFinder = SnapchatFinder(driver)
errors = 0

print('=== TinderBot Start ===')
login.logIn()
if login.isLogged():
    print('=== Tinder Perform ===')
    while True:
        try:
            bot.perform()
            igFinder.findAndSaveInstagramNick()
            snapFinder.findAndSaveSnapchatNick()
            if bot.getTotalActions() % 10 == 0:
コード例 #12
0
ファイル: tools.py プロジェクト: MetaNovitia/code
def login():
	site["checker"].login(driver.getDriver(cache), root)
コード例 #13
0
 def setUpClass(cls):
     cls.driver = getDriver()
コード例 #14
0
        scrollToBottomOfPage(driver, 10)
        likesPage = driver.page_source
        parseLikesPage(likesPage, i, outputPath)


if __name__ == '__main__':
    # import sensitive information if running locally
    from secretDirectory import secret
    # also get driver file to use
    from driver import getDriver, Browser
    from os import getcwd
    email = secret.EMAIL
    passw = secret.passw
    uname = secret.UNAME
    tor_path = secret.torBrowserPath
    driver_path = secret.exePath
    numOfFriendsToScrape = 2
    driver = getDriver(driver_path, Browser.FIREFOX, tor_path)

    loginToFacebook(driver, email, passw)
    time.sleep(8)

    FULLHTMLPAGE = getFriendsListHTMLPage(driver, uname)

    # will parse the HTML page to obtain hrefs of friends.
    friendURLS = parseFriendsPage(FULLHTMLPAGE)
    print(friendURLS)
    print(len(friendURLS))
    scrapeLikePages(driver, friendURLS, numOfFriendsToScrape, getcwd())

    driver.close()
コード例 #15
0
 def setUp(self):
     driver = getDriver()
     self.p1 = LoginPage(driver, url)
     self.p1.openBroswer()
コード例 #16
0
 def setUpClass(cls):
     cls.driver = getDriver()
     cls.login = TinderLogin(cls.driver)
     cls.login.logIn()
コード例 #17
0
 def setUp(self):
     self.driver = getDriver()