コード例 #1
0
 def _set_options_(self):
     edge_options = EdgeOptions()
     edge_options.use_chromium = True  # if we miss this line, we can't make Edge headless
     # A little different from Chrome cause we don't need two lines before 'headless' and 'disable-gpu'
     edge_options.add_argument('headless')
     edge_options.add_argument('disable-gpu')
     return edge_options
コード例 #2
0
    def setUpClass(cls):
        for db in settings.DATABASES:
            # Avoid leaking persistent connections
            settings.DATABASES[db]["CONN_MAX_AGE"] = 0
        os.environ["FREPPLE_TEST"] = "YES"
        super().setUpClass()
        if settings.SELENIUM_TESTS == "firefox":
            firefox_options = webdriver.FirefoxOptions()
            if settings.SELENIUM_HEADLESS:
                firefox_options.add_argument("--headless")
            cls.driver = webdriver.Firefox(firefox_options=firefox_options)
        elif settings.SELENIUM_TESTS == "chrome":
            options = webdriver.ChromeOptions()
            options.add_argument("--silent")
            if settings.SELENIUM_HEADLESS:
                options.add_argument("--headless")
            cls.driver = webdriver.Chrome(chrome_options=options)
        elif settings.SELENIUM_TESTS == "edge":
            from msedge.selenium_tools import Edge, EdgeOptions

            options = EdgeOptions()
            options.use_chromium = True
            options.add_argument("--silent")
            if settings.SELENIUM_HEADLESS:
                options.add_argument("--headless")
            cls.driver = Edge(options=options)
        else:
            raise Exception("Invalid setting SELENIUM_TESTS")
        cls.driver.set_window_size(1080, 800)
        cls.driver.implicitly_wait(10)
コード例 #3
0
def main(driver: WebDriver = None):
    try:
        if not driver:
            options = EdgeOptions()
            options.use_chromium = True
            options.add_argument("-inprivate")

            driver = Edge(executable_path=EDGE_DRIVER_PATH, options=options)
            driver.get(url_encode())

        wait = WebDriverWait(driver, 30, 1)
        # elem_vote = driver.find_element(By.XPATH, "//a[text()='投票']")
        # elem_vote = wait.until(EC.presence_of_element_located((By.XPATH, r"//a[text()='投票']")))
        # elem_vote.click()
        callback = step()
        elem = wait.until(callback)

        # elem_vote_options = wait.until(get_elem_vote_options)
        # elem_vote_options = wait.until(EC.visibility_of_all_elements_located((By.XPATH, "//div/div/label[@class='label']")))
        # elem_vote_options = elem_vote.find_elements(By.XPATH, "//div/div/label[@class='label']")
        elem = wait.until(callback)

        # map(lambda e: e.click(), elem_vote_options)
        # elem_vote_btn = wait.until(EC.element_to_be_clickable((By.XPATH, r"//a[text()='確認送出']")))
        # 1elem_vote_btn = driver.find_element(By.XPATH, r"//a[text()='確認送出']")
        # elem_vote_btn.click()
        elem = wait.until(callback)
    except Exception as e:
        traceback.print_exc(4, sys.stderr)
    finally:
        driver.delete_all_cookies()
        driver.refresh()
        main(driver)

    driver.quit()
コード例 #4
0
def Restart_Modem():
    options = EdgeOptions()
    options.use_chromium = True
    options.add_argument("-inprivate")
    edge_browser = Edge(options=options)
    edge_browser.get('http://192.168.0.1')
    time.sleep(2)
    print('Welcome')
    try:
        login = edge_browser.find_element_by_name('username')
        password = edge_browser.find_element_by_name('password')
        sign = edge_browser.find_element_by_class_name('styled_button_s')
        login.clear()
        password.clear()
        login.send_keys('admin')
        password.send_keys('admin')
        time.sleep(2)
        sign.click()
        print('Sign in')
        alert = Alert(edge_browser)
        time.sleep(2)
        edge_browser.get('http://192.168.0.1/saveconf.htm')
        time.sleep(2)
        system = edge_browser.find_element_by_id('three_level_menu1')
        system.click()
        time.sleep(2)
        reboot = edge_browser.find_element_by_name('reboot')
        reboot.click()
        alert.accept()
        time.sleep(70)
        print('Reboot')
        edge_browser.quit()
    except:
        print('Problem with restarting modem')
        edge_browser.quit()
コード例 #5
0
def setup(browser):
    if browser == 'chromeheadless':
        from selenium.webdriver.chrome.options import Options
        chromeoptions = Options()
        chromeoptions.headless = True
        driver = webdriver.Chrome(options=chromeoptions)
    elif browser == 'ffheadless':
        from selenium.webdriver.firefox.options import Options
        ffoptions = Options()
        ffoptions.headless = True
        driver = webdriver.Firefox(options=ffoptions)
    elif browser == 'edgeheadless':
        from msedge.selenium_tools import Edge, EdgeOptions
        options = EdgeOptions()
        options.use_chromium = True
        options.add_argument("--headless")
        driver = Edge(options=options)
    # elif browser == 'vivaldi':
    #     opt = Options()
    #     opt.binary_location = r'C:\Users\Dana Scully\AppData\Local\Vivaldi\Application\vivaldi.exe'
    #     driver = webdriver.Chrome(options=opt)
    #cant get to work
    else: #default
        driver = webdriver.Chrome()

    return driver
コード例 #6
0
ファイル: edge.py プロジェクト: jsfehler/splinter
    def __init__(self,
                 options=None,
                 user_agent=None,
                 wait_time=2,
                 fullscreen=False,
                 incognito=False,
                 headless=False,
                 chromium=True,
                 **kwargs):

        options = Options() or options

        if user_agent is not None:
            options.add_argument("--user-agent=" + user_agent)

        if incognito:
            options.add_argument("--incognito")

        if fullscreen:
            options.add_argument("--kiosk")

        if headless:
            options.add_argument("--headless")
            options.add_argument("--disable-gpu")

        options.use_chromium = chromium

        driver = Edge(options=options, **kwargs)

        super(WebDriver, self).__init__(driver, wait_time)
コード例 #7
0
def init_browser():
    global browser

    if "chrome_type" in config and config['chrome_type'] == "msedge":
        chrome_options = EdgeOptions()
        chrome_options.use_chromium = True

    else:
        chrome_options = webdriver.ChromeOptions()

    chrome_options.add_argument('--ignore-certificate-errors')
    chrome_options.add_argument('--ignore-ssl-errors')
    chrome_options.add_argument('--use-fake-ui-for-media-stream')
    chrome_options.add_experimental_option(
        'prefs', {
            'credentials_enable_service': False,
            'profile.default_content_setting_values.media_stream_mic': 1,
            'profile.default_content_setting_values.media_stream_camera': 1,
            'profile.default_content_setting_values.geolocation': 1,
            'profile.default_content_setting_values.notifications': 1,
            'profile': {
                'password_manager_enabled': False
            }
        })

    chrome_options.add_experimental_option('excludeSwitches',
                                           ['enable-automation'])

    if 'headless' in config and config['headless']:
        chrome_options.add_argument('--headless')
        print("Enabled headless mode")

    if 'mute_audio' in config and config['mute_audio']:
        chrome_options.add_argument("--mute-audio")

    if 'chrome_type' in config:
        if config['chrome_type'] == "chromium":
            browser = webdriver.Chrome(
                ChromeDriverManager(chrome_type=ChromeType.CHROMIUM).install(),
                options=chrome_options)
        elif config['chrome_type'] == "msedge":
            browser = Edge(EdgeChromiumDriverManager().install(),
                           options=chrome_options)
        else:
            browser = webdriver.Chrome(ChromeDriverManager().install(),
                                       options=chrome_options)
    else:
        browser = webdriver.Chrome(ChromeDriverManager().install(),
                                   options=chrome_options)

    # make the window a minimum width to show the meetings menu
    window_size = browser.get_window_size()
    if window_size['width'] < 1200:
        print("Resized window width")
        browser.set_window_size(1200, window_size['height'])

    if window_size['height'] < 850:
        print("Resized window height")
        browser.set_window_size(window_size['width'], 850)
コード例 #8
0
ファイル: config.py プロジェクト: eicc27/Pixcrawl-Full
def driver_init():
    options = EdgeOptions()
    options.use_chromium = True
    profile_dir = r"--user-data-dir=C:\Users\Chan\AppData\Local\Microsoft\Edge\User Data"
    options.add_argument(profile_dir)
    options.add_experimental_option('excludeSwitches', ['enable-logging'])
    driver = Edge(options=options)
    return driver
コード例 #9
0
def getRobertsAnimeCornerStoreData(title, bookType):
    #Starts wevdriver to scrape edge chromium
    options = EdgeOptions()
    options.use_chromium = True
    options.add_argument("-inprivate")
    options.add_argument("--headless")
    driver = Edge(options=options)

    soup = BeautifulSoup(driver.page_source, "html.parser")

    newPage = getDataPage(driver, title, soup, bookType)
    if not newPage:
        print(title)
        print("Error!!!!! Invalid Series Title")
        return
    else:
        #Start scraping the URL where the data is found
        driver.get(newPage)

        #Wait for the web page to finish loading
        time.sleep(5)

        #Start parsing the web pages html and css
        soup2 = BeautifulSoup(driver.page_source, "html.parser")

        #Get the Title and Price of each manga or light novel
        dataList, titleList = [], []
        titleParse = soup2.find_all(
            "tr", {"valign": "top"
                   })[1:]  #Remove first element cause it pulls unwanted text
        priceList = soup2.select(
            'font[color="#ffcc33"]'
        )[1::
          2]  #[1::2] to remove the RACS Price text (every odd element in the list)

        #Convert title list to strings so you can remove any black/empyt spaces
        for bookTitle in titleParse:
            seriesTitle = bookTitle.find("font", {"size": "2"}).b.text
            if seriesTitle != " ":
                titleList.append(seriesTitle)
        del titleParse  #Remove list from memory as we don't need it anymore

        stockStatus = ""
        for titles, prices in zip(titleList, priceList):
            specTitle = str(titles).replace(",", "")
            if specTitle.find("Pre Order") != -1:
                stockStatus = "Pre-Order"
            else:
                stockStatus = "Available"
            dataList.append([specTitle, prices.text, stockStatus])

        csvFile = "AnimeCornerStore.csv"
        with open(csvFile, "w", newline="", encoding="utf-8") as file:
            writeToFile = csv.writer(file)
            writeToFile.writerow(["Title", "Price", "Stock Status"])
            writeToFile.writerows(dataList)
        #TableGUI.robertsDataTable.setItem(numRows, 0, QtWidgets.QTableWidgetItem(str(dataList[0])))
        return dataList
コード例 #10
0
def run():
    email = read_decrypt(efile)
    password = read_decrypt(pfile)
    cemail = str(email)
    cpassword = str(password)
    print(cemail)
    print(cpassword)
    with open("browserdetails.txt", "r") as f:
        data = [line.rstrip('\n') for line in f]
    browser = data[0].lower()
    gpu = data[1].lower()

    if browser == 'edge':
        try:
            requests.get("http://www.google.com")
            print('Connection Found')
            options = EdgeOptions()
            options.use_chromium = True
            options.add_argument("--start-maximized")
            if gpu == 'no':
                options.add_argument("window-size=1920,1080")
                options.add_argument("--headless")
                options.add_argument("disable-gpu")
                options.add_argument("-inprivate")
            driver = Edge(executable_path='msedgedriver.exe', options=options)
            driver.get('https://gokano.com/')
            try:
                email = WebDriverWait(driver, 3).until(
                    EC.presence_of_element_located((By.NAME, 'email')))
                print("Page is ready!")
                email.send_keys(cemail)
                password = driver.find_element_by_name('password')
                password.send_keys(cpassword)
                time.sleep(3)
                button = driver.find_element_by_class_name('submit')
                button.click()
                print('Login sucessful')
            except TimeoutException:
                print("Error logining in")  #[email protected]
                time.sleep(3)
                driver.quit()
            time.sleep(3)
            try:
                cdp = driver.find_element_by_link_text('Collect daily points')
                cdp.click()
                write_time()
                time.sleep(3)
                driver.quit()
            except NoSuchElementException:
                print('Already collected')
                time.sleep(3)
                driver.quit()
            print('Automation completed')
            time.sleep(3)
            driver.quit()
        except requests.ConnectionError:
            print('Could not connect')
コード例 #11
0
    def get_headless_edge_options(self):
        "Setting up headless edge options"
        options = EdgeOptions()
        options.use_chromium = True
        options.add_argument("headless")
        options.add_argument("disable-gpu")
        local_driver = Edge(options=options)

        return local_driver
コード例 #12
0
 def __init__(self, url: str):
     edge_options = EdgeOptions()
     edge_options.use_chromium = True
     edge_options.add_argument('headless')
     edge_options.add_argument('disable-gpu')
     self.driver = Edge(executable_path='msedgedriver.exe',
                        options=edge_options)
     self.driver.get(url)
     self.wait = WebDriverWait(self.driver, 10)
コード例 #13
0
def open_browser(env, browser='chrome', incognito=True):
    driver = None
    if browser == "chrome":
        chrome_options = webdriver.ChromeOptions()
        if incognito:
            chrome_options.add_argument('--incognito')
        driver = webdriver.Chrome(executable_path=chrome_driver_path, chrome_options=chrome_options)
    elif browser == "msedge":
        edge_options = EdgeOptions()
        edge_options.use_chromium = True
        if incognito:
            edge_options.add_argument('-inprivate')
        driver = Edge(executable_path=msedge_driver_path, options=edge_options)
    elif browser == "firefox":
        firefox_options = webdriver.FirefoxOptions()
        if incognito:
            firefox_options.add_argument('--incognito')
        driver = webdriver.Firefox(executable_path=firefox_driver_path, options=firefox_options)
    elif browser == "ie":
        driver = webdriver.Ie(executable_path=ie_driver_path)
        # selenium grid
        # driver = webdriver.Remote(command_executor='http://10.22.40.234:5555/wd/hub',
        #                           desired_capabilities=DesiredCapabilities.INTERNETEXPLORER)
    elif browser == "safari":
        driver = webdriver.Safari()

    # 获取web配置
    with open(web_config_path, 'r', encoding='utf-8') as file:
        data = yaml.load(file, Loader=yaml.FullLoader)

    # 以下是一个示例,基于config/web_config.yaml文件做的配置
    if env == "msit":
        url = data["portal"]['msit']
        Logger.info("Open Url: %s", url)
        driver.get(url)
    if env == "srol1":
        url = data["portal"]['srol1']
        Logger.info("Open Url: %s", url)
        driver.get(url)
    if env == "srol2":
        url = data["portal"]['srol2']
        Logger.info("Open Url: %s", url)
        driver.get(url)
    if env == "ppe":
        url = data["portal"]['ppe']
        Logger.info("Open Url: %s", url)
        driver.get(url)
    if env == "refe":
        url = data["portal"]['refe']
        Logger.info("Open Url: %s", url)
        driver.get(url)
    elif env == '':
        driver = None
    driver.maximize_window()
    driver.implicitly_wait(data['implicitly_wait'])
    return driver
コード例 #14
0
    def create_chrome_driver(self):
        chrome_options = EdgeOptions()

        proxy = self.get_next_proxy()
        print("CurrProxy: " + proxy)

        chrome_options.add_argument('--proxy-server=%s' % proxy)
        return webdriver.Chrome(
            "C:\\Windows.old\\Users\\Public\\chromedriver.exe",
            options=chrome_options)
コード例 #15
0
def checkEmailBreached():
    email = input(default_color + "Email Address> " + reset)
    print()
    url = f"https://haveibeenpwned.com/unifiedsearch/{email}"

    options = EdgeOptions()
    options.use_chromium = True
    options.add_argument('ignore-certificate-errors')
    options.add_argument("--log-level=OFF")
    driver = Edge(options=options,
                  executable_path=r"WebDriver\msedgedriver.exe")
    driver.get(url)
    try:
        dirty_response = \
            driver.page_source.split(
                '<html><head></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">')[1]

        raw_json = dirty_response.split("</pre></body></html>")[0]

        res = json.loads(raw_json)
        driver.close()

        print(heading_color +
              "---------------------Check For Breached Email--------------" +
              reset)

        for i in range(len(res['Breaches'])):
            print(
                content_color + f"Name        : {res['Breaches'][i]['Name']}\n"
                f"Title       : {res['Breaches'][i]['Title']}\n"
                f"Domain      : {res['Breaches'][i]['Domain']}\n"
                f"Breached On : {res['Breaches'][i]['BreachDate']}\n{reset}"
                f"{heading_color}--------------------------------------\n{reset}"
            )
        if res['Pastes'] is None:
            print(fg("red") + "[*] No Public Paste Found" + reset)
        else:
            print(heading_color + "[*] Public Paste Found\n" + reset)
            pastes = res["Pastes"]
            for i in range(len(pastes)):
                print(content_color + f"Source     : {pastes[i]['Source']}\n"
                      f"Title      : {pastes[i]['Title']}\n"
                      f"Date       : {pastes[i]['Date']}\n"
                      f"EmailCount : {pastes[i]['EmailCount']}\n")
                if pastes[i]['Source'] == "Pastebin":
                    print(
                        f"Paste URL  : https://pastebin.com/{pastes[i]['Id']}\n{reset}"
                        f"{heading_color}----------------------------------------------------{reset}"
                    )
    except:
        print(
            fg("red") + f"[*] The provided Email {email} is not breached!" +
            reset)
        pass
コード例 #16
0
 def __init__(self, email, password, headless=True):
     self.email = email
     self.password = password
     self.available = False
     self.booked = False
     self.reservations_left = False
     options = EdgeOptions()
     options.add_argument("--log-level=3")
     options.use_chromium = True
     if headless:
         options.add_argument("headless")
     self.driver = Edge(options=options)
     print("Starting web driver...")
コード例 #17
0
def __edge_driver(browser_options):
    edge_options = EdgeOptions()
    edge_options.use_chromium = True
    if browser_options.headless:
        edge_options.add_argument('headless')
    if browser_options.browser_binary_location:
        edge_options.binary_location = browser_options.browser_binary_location
    if browser_options.operating_system:
        edge_options.set_capability('platform', 'LINUX')
    if browser_options.webdriver_location:
        return Edge(options=edge_options,
                    executable_path=browser_options.webdriver_location)
    return EdgeDriver.WebDriver(options=edge_options)
コード例 #18
0
def start_msedge(browser_config):
    # need 'pip install msedge-selenium-tools' for Edge
    from msedge.selenium_tools import Edge, EdgeOptions

    options = EdgeOptions()
    options.use_chromium = True
    user_data_dir = settings.Config.get(browser_config,
                                        'user_data_dir',
                                        fallback='')
    if user_data_dir:
        options.add_argument(f'user-data-dir={user_data_dir}')
    edgedriver = settings.Config[browser_config]['driver']
    driver = Edge(executable_path=edgedriver, options=options)
    return driver
コード例 #19
0
    def spider_opened(self, spider):
        #  # 在scrapy中创建driver对象,尽可能少的创建该对象。
        #  # 1. 在初始化方法中创建driver对象;
        #  # 2. 在open_spider中创建driver对象;
        #  # 3. 不要将driver对象的创建放在process_request();
        options = EdgeOptions()

        # # 使用谷歌内核(加了反而报错,说chrome is not reachable,并且此时driver名字必须为msedgedriver.exe,正常应该必须是MicrosoftWebDriver.exe)
        # options.use_chromium = True

        # 浏览器可执行文件绝对路径 - 手动指定使用的浏览器位置
        options.binary_location = r"MicrosoftWebDriver.exe"

        # options.add_argument("--remote-debugging-port=59692")

        # # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
        # options.headless = True
        # options.add_argument("--headless")

        # “–no-sandbox”参数是让Chrome在root权限下跑
        # options.add_argument('--no-sandbox')

        # options.add_argument('--disable-dev-shm-usage')

        # 谷歌文档提到需要加上这个属性来规避bug
        # options.add_argument("disable-gpu")

        # 隐私模式
        # options.add_argument("-inprivate")

        options.add_argument(
            "user-data-dir=C:\\Users\\wangy\\AppData\\Local\\Microsoft\\Edge\\User Data"
        )

        options.add_argument(
            "profile-directory=C:\\Users\\wangy\\AppData\\Local\\Microsoft\\Edge\\User Data\\Default"
        )

        # options.binary_location = r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"

        self.driver = Edge(options=options)

        # give time to login manually
        self.driver.get('https://i.cnblogs.com/posts?pageSize=100')
        time.sleep(30)

        spider.logger.info('Spider opened: %s' % spider.name)
コード例 #20
0
ファイル: chpo_crawler.py プロジェクト: pzweuj/practice
def chinahpo(hpo):
    # 如果使用IP池,则不进行随机等待
    # s = random.randint(5, 10)
    # print("等待 " + str(s) + "秒")
    # time.sleep(s)
    ip = randomIP()
    # ip = "socks5://127.0.0.1:1080"
    print("使用IP " + ip)
    options = EdgeOptions()
    options.use_chromium = True
    options.add_argument("headless")
    # options.add_argument("disable-gpu")
    options.add_argument("--proxy-server={ip}".format(ip=ip))
    options.add_argument("--disable-blink-features")
    options.add_argument("--disable-blink-features=AutomationControlled")
    options.add_argument("start-maximized")
    options.add_experimental_option("excludeSwitches", ["enable-automation"])
    options.add_experimental_option("useAutomationExtension", False)
    msedge = r"C:\Program Files (x86)\Microsoft\Edge\Application\msedgedriver.exe"

    driver = Edge(options=options, executable_path=msedge)
    script = "Object.defineProperty(navigator, 'webdriver', {get: () => undefined})"
    driver.execute_script(script)
    UA = randomUA()
    # UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.53 Safari/537.36"
    driver.execute_cdp_cmd("Network.setUserAgentOverride", {"userAgent": UA})
    print(driver.execute_script("return navigator.userAgent;"))

    hpid = hpo.split(":")[1]
    url = "http://www.chinahpo.org/#/searchList?trigger=1&tabType=1&searchContent=HP%3A{hpid}".format(
        hpid=hpid)

    try:
        driver.get(url)
        strtemp = url
        print("网址:", strtemp)
    except Exception:
        print("get page error", hpo)

    time.sleep(2)
    with open("html2/hp_" + hpid + ".html", "a+", encoding="utf-8") as f:
        f.write(str(driver.page_source))

    driver.close()
    fin = open("finish.txt", "a")
    fin.write(hpo + "\n")
    fin.close()
コード例 #21
0
def GetPrices(item_ID, price_limit):
    options = EdgeOptions()
    options.use_chromium = True
    options.add_argument("headless")
    options.add_argument("disable-gpu")

    driver = webdriver.Chrome('C:/Users/kevin/Documents/PyCharmProjects/TCC-Scraper/msedgedriver.exe',
                              options=options)
    driver.get(
        f'https://us.tamrieltradecentre.com/pc/Trade/SearchResult?ItemID={item_ID}&SortBy=Price&Order=asc&page=1')


    item_name = driver.find_element_by_xpath('//*[@id="search-result-view"]/div[1]/div/table/tbody/tr[1]/td[1]/div[1]')

    duration = 1000
    freq = 440

    dict_price = {}
    dict_time = {}
    dict_location = {}
    dict_guildname = {}

    for i in range(1, 20, 2):
        dict_price[i] = f'//*[@id="search-result-view"]/div[1]/div/table/tbody/tr[{i}]/td[4]/span[1]'
        dict_time[i] = f'//*[@id="search-result-view"]/div[1]/div/table/tbody/tr[{i}]/td[5]'
        dict_location[i] = f'//*[@id="search-result-view"]/div[1]/div/table/tbody/tr[{i}]/td[3]/div[1]'
        dict_guildname[i] = f'//*[@id="search-result-view"]/div[1]/div/table/tbody/tr[{i}]/td[3]/div[2]'

    for i in range(1, 20, 2):
        price = driver.find_element_by_xpath(dict_price[i])
        price_str = (price.text.replace(',', ''))
        price_float = float(price_str)
        price_int = int(price_float)
        age = driver.find_element_by_xpath(dict_time[i])
        location = driver.find_element_by_xpath(dict_location[i])
        guildname = driver.find_element_by_xpath(dict_guildname[i])

        if '5 Hour ago' == age.text or '2 Minute ago' == age.text or '3 Minute ago' == age.text:
            if price_int < price_limit:
                print(f'{item_name.text}: {price.text} , Posted: {age.text}')
                print(f'Location: {location.text}, Guild Name: {guildname.text}')
                # winsound.Beep(freq,duration)


    print(f'Price Checked for: {item_name.text},', 'at', ShowTime(), 'PM', '- Waiting 10 Seconds')
    time.sleep(10)
コード例 #22
0
ファイル: drivers.py プロジェクト: hmasdev/pyjpboatrace
def create_edge_driver() -> webdriver.Edge:
    """Create an instance of edge driver

    Returns:
        webdriver.Edge: chrome driver

    WARNING:
        driver is activated without headless mode
    """
    # options
    options = EdgeOptions()
    options.use_chromium = True
    # options.add_argument("headless")  # TODO set user agent
    options.add_argument("disable-gpu")
    # create driver
    driver = Edge(executable_path=EdgeChromiumDriverManager().install(),
                  options=options)
    return driver
コード例 #23
0
def result(request):
    data = dict()
    if request.method == 'POST':
        nickname = request.POST.get("nick_input", None)
        if not nickname:
            return render(request, 'chk/index.html', data)
        data['nickname'] = nickname
        options = EdgeOptions()
        options.use_chromium = True
        options.add_argument('--headless')
        driver = Edge(
            executable_path=r'D:\Git\namechk_avatar\namechk\msedgedriver.exe',
            options=options)
        check_list = [check_youtube, check_twitter, check_insta, check_vk]
        if not os.path.exists("chk/static/chk/img/" + nickname):
            os.mkdir("chk/static/chk/img/" + nickname)
        for check in check_list:
            check(nickname, data, driver)
        check_avatars(data, nickname)
    return render(request, 'chk/index.html', data)
コード例 #24
0
ファイル: PyWaMG.py プロジェクト: megz15/PyWaMG
def wa_login(isHeadless=True):
    '''
    Use to login to Whatsapp Web
    
    Can omit usage if already logged in once by scanning QR

    Parameters
    ----------
    None

    Returns
    -------
    None
    '''
    options = EdgeOptions()
    options.use_chromium = True     #Uses chromium-based edgium, remove to use legacy edge
    options.add_argument("user-data-dir="+os.getcwd()+"\\Cache")
    options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36 Edg/88.0.705.49")
    options.add_experimental_option('excludeSwitches', ['enable-logging'])
    # options.add_experimental_option("excludeSwitches", ["enable-automation"])
    # options.add_experimental_option("useAutomationExtension", False)
    options.headless = isHeadless   #Headless mode
    global driver
    driver = Edge(EdgeChromiumDriverManager().install(),options=options)
    driver.get('https://web.whatsapp.com/')
    if os.path.isfile('./Cache/wa.exists'):
        return
    else:
        pass
    wait_for_load('_1PTz1')
    driver.execute_script("""
    var element1 = document.querySelector("._3DgtU");
    var element2 = document.querySelector("._1iKcN");
    if (element1)
        element1.parentNode.removeChild(element1);
    if (element2)
        element2.parentNode.removeChild(element2);
    """)
    Image.open(BytesIO(driver.find_element_by_class_name('landing-main').screenshot_as_png)).show()
    with open('Cache/wa.exists','w') as file:
        pass
コード例 #25
0
    def __init__(self,
                 df_dir='src/data',
                 df_path='data/dataframe.csv',
                 df_file_name='new_dataframe.csv',
                 cookies_path='src/cookies/cookies.pkl',
                 driver_path='',
                 _driver=None,
                 _check=False):
        self.df_dir = df_dir
        self.df_path = df_path if self.read_file is None else f'data/{self.read_file}'
        self.df_file_name = df_file_name
        self.cookies_path = cookies_path
        self.driver_path = driver_path
        self.driver = _driver
        self.check = _check

        if self.driver is None:
            # Selenium capabilities and other settings
            options = Options()

            # Options for microsoft edge (chromium)
            edge_options = EdgeOptions()
            edge_options.use_chromium = True
            edge_options.add_argument('log-level=3')
            edge_options.add_argument('lang=en')
            edge_options.add_argument('--start-maximized')

            # Main webdriver
            self.driver = Edge(executable_path=self.driver_path,
                               options=edge_options)

        self._check_connection()
コード例 #26
0
def webDriverConfig(agent):
    driver_path = 'msedgedriver.exe'
    #options to make selenium faster
    prefs = {
        'profile.default_content_setting_values': {
            'images': 2,
            'plugins': 2,
            'popups': 2,
            'geolocation': 2,
            'notifications': 2,
            'auto_select_certificate': 2,
            'fullscreen': 2,
            'mouselock': 2,
            'mixed_script': 2,
            'media_stream': 2,
            'media_stream_mic': 2,
            'media_stream_camera': 2,
            'protocol_handlers': 2,
            'ppapi_broker': 2,
            'automatic_downloads': 2,
            'midi_sysex': 2,
            'push_messaging': 2,
            'ssl_cert_decisions': 2,
            'metro_switch_to_desktop': 2,
            'protected_media_identifier': 2,
            'app_banner': 2,
            'site_engagement': 2,
            'durable_storage': 2
        }
    }
    options = EdgeOptions()
    options.use_chromium = True
    options.add_argument("--start-maximized")
    options.add_argument(f"user-agent={agent}")
    options.headless = True  # comment this line to visualize page visiting
    options.add_experimental_option("prefs", prefs)

    driver = Edge(driver_path, options=options)
    return driver
コード例 #27
0
    def createDriver(self, browser, driverPath, headless=None):
        """ Start selenium web driver

        Args:
            browser (str): Browser type
            driverPath (Path): Path to driver
            headless (bool): Headless bool

        Returns:
            driver: selenium driver
        """

        self.headless = headless

        if browser == "Edg":
            edge_options = EdgeOptions()
            if self.headless:
                # make Edge headless
                edge_options.use_chromium = True
                edge_options.add_argument("headless")
                edge_options.add_argument("disable-gpu")
                edge_options.add_argument("--log-level=3")
                edge_options.add_experimental_option(
                    'excludeSwitches',
                    ['enable-logging']
                )
                # edge_options.page_load_strategy("eager")
            self.driver = Edge(
                executable_path=str(driverPath),
                options=edge_options
            )
        elif browser == "Chrome":
            chrome_options = Options()
            if self.headless:
                chrome_options.add_argument("--headless")
                chrome_options.add_argument("--log-level=3")
                chrome_options.add_experimental_option(
                    'excludeSwitches',
                    ['enable-logging']
                )
                # chrome_options.page_load_strategy("eager")
                # don't know the chrome command
            self.driver = webdriver.Chrome(
                executable_path=str(driverPath),
                options=chrome_options
            )
        else:
            print("Browser not supported yet")

        self.driver.set_window_size(1800, 1080)
        self.driver.set_page_load_timeout(100000)

        return self.driver
コード例 #28
0
def verify_account(url):
    runner = cfscrape.create_scraper()
    options = EdgeOptions()
    options.use_chromium = True
    options.add_argument("disable-gpu")
    options.add_argument('headless')
    options.add_argument('ignore-certificate-errors')
    driver = Edge(options=options,
                  executable_path=r"WebDriver\msedgedriver.exe")
    driver.get(url)

    link = driver.find_element_by_xpath(
        r"//a[@style='text-decoration: none; color: #1ed760']").get_attribute(
            'href')
    driver.close()

    result = runner.get(url=link).text
    if "all set" in result:
        window["Verified_Email"].print(f"[*] Verification Completed")
    else:
        window["Verified_Email"].print(f"[*] {result}")
コード例 #29
0
    def Webpage_login(self,scanner_url, username, password):
        """edge浏览器"""
        edgedriver = "./msedgedriver.exe" #这里写本地的edgedriver的所在路径
        edge_options = EdgeOptions()
        edge_options.use_chromium = True # 使用谷歌内核
        edge_options.add_argument("disable-gpu") # 禁用gpu加速,避免bug
        edge_options.add_argument('start-maximized') # 启动最大化
        edge_options.add_argument('--ignore-certificate-errors') # 绕过“你的连接不是专用连接”
        edge_options.add_experimental_option('useAutomationExtension', False) # 关闭“Microsoft Edge正由自动测试软件控制。”
        edge_options.add_experimental_option('excludeSwitches', ['enable-automation'])
        driver = Edge(executable_path=edgedriver,options=edge_options)

        driver.get(scanner_url)
        
        time.sleep(1)
        driver.find_element_by_id('username').click()
        driver.find_element_by_id('username').send_keys(username)
        driver.find_element_by_id('password').click()
        driver.find_element_by_id('password').send_keys(password)
        driver.find_element_by_class_name('submit').click()
        time.sleep(1)
        driver.find_element_by_id('two01').click()
コード例 #30
0
ファイル: main.py プロジェクト: htnafhD/Camera_Automation
from msedge.selenium_tools import Edge, EdgeOptions
from win10toast import ToastNotifier
from email.message import EmailMessage
import os, re, base64, smtplib, datetime, win32gui, time as tm, requests, zipfile, io

#created for home project
#start :)
flag = 0
access_key = 1
lst = list()
date_time = str(datetime.datetime.now())
toaster = ToastNotifier()

edge_options = EdgeOptions()
edge_options.use_chromium = True
edge_options.add_argument("--log-level=3")
edge_options.add_argument("headless")
edge_options.add_argument("disable-gpu")

def handle_log(flag):
    with open('path\logs.txt', 'a') as f:
        if flag == 1:
            f.write(date_time + ' 1. Success (1 time trial)\n')
        elif flag == 2:
            f.write(date_time + ' 2. Success (2 times trial)\n')
        elif flag == 3:
            f.write(date_time + ' 3. Failed\n')
        elif flag == 4:
            f.write(date_time + ' 4. Site is not accessible (Connection problem)\n')
        elif flag == 6:
            f.write(date_time + " 6. The system couldn't updated driver by it own! Please check the log file!\n")