Exemple #1
0
def create_driver():
    config = ConfigParser.ConfigParser()
    config.read('webdriver.cfg')
    section = os.environ.get("WD_BROWSER", 'firefox')
    if config.has_option(section, 'url'):
        url = config.get(section, "url")
    else:
        url = 'http://127.0.0.1:4444/wd/hub'
    capabilities = None
    if config.has_option(section, 'capabilities'):
        try:
            capabilities = json.loads(config.get(section, "capabilities"))
        except:
            pass
    mode = 'compatibility'
    if config.has_option(section, 'mode'):
        mode = config.get(section, 'mode')
    if section == 'firefox':
        driver = webdriver.Firefox()
    elif section == 'chrome':
        driver = webdriver.Chrome()
    elif section == 'edge':
        driver = webdriver.Remote()
    elif section == 'ie':
        driver = webdriver.Ie()
    elif section == 'selendroid':
        driver = webdriver.Android()

    return driver
Exemple #2
0
 def __init__(self, browser_type=BrowserType.CHROME, **browser_args):
     browser_type_in_lower = browser_type.lower()
     if browser_type_in_lower == "ie":
         self.__browser_type = BrowserType.IE
         self.__web_driver = SeleniumDriver.Ie(**browser_args)
     elif browser_type_in_lower == "firefox" or browser_type_in_lower == "ff":
         self.__browser_type = BrowserType.FIREFOX
         self.__web_driver = SeleniumDriver.Firefox(**browser_args)
     elif browser_type_in_lower == "chrome":
         self.__browser_type = BrowserType.CHROME
         self.__web_driver = SeleniumDriver.Chrome(**browser_args)
     elif browser_type_in_lower == "android":
         self.__browser_type = BrowserType.ANDROID
         self.__web_driver = SeleniumDriver.Android(**browser_args)
     elif browser_type_in_lower == "opera":
         self.__browser_type = BrowserType.OPERA
         self.__web_driver = SeleniumDriver.Opera(**browser_args)
     elif browser_type_in_lower == "safari":
         self.__browser_type = BrowserType.SAFARI
         self.__web_driver = SeleniumDriver.Safari(**browser_args)
     elif browser_type_in_lower == "appium":
         self.__browser_type = BrowserType.APPIUM
         self.__web_driver = webdriver.Remote(**browser_args)
     else:
         raise Exception("The browser type [%s] is not supported." %
                         browser_type)
 def create_webdriver(self, driver_name):
     """Create corresponding webdriver and set it to compatibility tester"""
     if driver_name == 'chrome':
         self.set_browser(webdriver.Chrome())
     elif driver_name == 'firefox':
         self.set_browser(webdriver.Firefox())
     elif driver_name == 'android':
         self.set_browser(webdriver.Android())
     elif driver_name == 'blackberry':
         self.set_browser(webdriver.BlackBerry())
     elif driver_name == 'edge':
         self.set_browser(webdriver.Edge())
     elif driver_name == 'ie':
         self.set_browser(webdriver.Ie())
     elif driver_name == 'opera':
         self.set_browser(webdriver.Opera())
     elif driver_name == 'phantomjs':
         self.set_browser(webdriver.PhantomJS())
     elif driver_name == 'remote':
         self.set_browser(webdriver.Remote())
     elif driver_name == 'safari':
         self.set_browser(webdriver.Safari())
     elif driver_name == 'webkitgk':
         self.set_browser(webdriver.WebKitGTK())
     else:
         print('web driver name is invalid')
Exemple #4
0
    def _make_browser(self, name, *args, **kwargs):

        name = name.lower()
        if name == self.CHROME_NAME.lower():
            return webdriver.Chrome(*args, **kwargs)

        elif name == self.FIREFOX_NAME.lower():
            return webdriver.Firefox(*args, **kwargs)

        elif name == self.EDGE_NAME.lower():
            return webdriver.Edge(*args, **kwargs)

        elif name == self.IE_NAME.lower():
            return webdriver.Ie(*args, **kwargs)

        elif name == self.OPERA_NAME.lower():
            return webdriver.Opera(*args, **kwargs)

        elif name == self.SAFARI_NAME.lower():
            return webdriver.Safari(*args, **kwargs)

        elif name == self.BLACKBERRY_NAME.lower():
            return webdriver.BlackBerry(*args, **kwargs)

        elif name == self.PHANTOMJS_NAME.lower():
            return webdriver.PhantomJS(*args, **kwargs)

        elif name == self.ANDROID_NAME.lower():
            return webdriver.Android(*args, **kwargs)

        elif name == self.WEBKITGTK_NAME.lower():
            return webdriver.WebKitGTK(*args, **kwargs)

        else:
            raise ValueError('{} is not a supported browser.'.format(name))
Exemple #5
0
 def set_driver(self):
     if self.engine.lower() == 'chrome':
         self.driver = webdriver.Chrome
     elif self.engine.lower() == 'firefox':
         self.driver = webdriver.Firefox()
     elif self.engine.lower() == 'android':
         self.driver = webdriver.Android()
     elif self.engine.lower() == 'edge':
         self.driver = webdriver.Edge()
     else:
         self.driver = webdriver.PhantomJS()
     if (self.url != '') and (self.url is not None):
         self.open_url(url=self.url)
def getcookie():
    try:
        #browser  = webdriver.Remote(desired_capabilities=webdriver.DesiredCapabilities.ANDROID)
        browser = webdriver.Android(host='localhost',
                                    port=8080,
                                    desired_capabilities={
                                        'browserName': 'android',
                                        'version': '',
                                        'platform': 'ANDROID'
                                    })
    except BaseException as e:
        options = webdriver.ChromeOptions()
        options.binary_location = r'D:\Program Files\local-chromium\575458\chrome-win32\chrome.exe'
        browser = webdriver.Chrome(chrome_options=options)

    browser.get('https://plogin.m.jd.com/user/login.action?appid=100')

    #time.sleep(10)
    user = browser.find_element_by_xpath("//*[@id='username']")
    '''xpath路径获取:使用chrome浏览器开发者选项,定位到元素,
    在元素html代码上点右键,选择copy-copy xpath。复制代码内的双引号要改成单引号
    '''
    user.clear()  #清除文本框内数据
    user.send_keys("10275")  #写数据

    password = browser.find_element_by_xpath("//*[@id='password']")
    password.clear()  #清除文本框内数据
    password.send_keys("h3717")  #写数据

    login = browser.find_element_by_xpath("//*[@id='loginBtn']")
    login.click()  #点击按钮

    time.sleep(5)
    coupon = browser.find_element_by_xpath(
        "//*[@id='appcenter']/div/div/nav/a[8]/span/img")
    coupon.click()  #点击按钮
    cookies = ''
    a = browser.get_cookies()  #获取当前页面的cookies
    for x in a:
        cookies = cookies + x['name'] + "=" + x['value'] + ";"

    print(cookies)

    #pprint.pprint(a)

    a = browser.page_source  #获取网页渲染后的源代码
    return cookies
Exemple #7
0
 def __enter__(self):
     if self._browser == "chrome":
         self._driver = webdriver.Chrome()
     elif self._browser == "firefox":
         self._driver = webdriver.Firefox()
     elif self._browser == "android":
         self._driver = webdriver.Android()
     elif self._browser == "edge":
         self._driver = webdriver.Edge()
     elif self._browser == "ie":
         self._driver = webdriver.Ie()
     elif self._browser == "opera":
         self._driver = webdriver.Opera()
     elif self._browser == "phantomjs":
         self._driver = webdriver.PhantomJS()
     elif self._browser == "safari":
         self._driver = webdriver.Safari()
     else:
         raise NotImplementedError(
             "Browser '{0}' not supported! (Yet?)".format(self._browser))
     # self._driver.implicitly_wait(1)
     if self._initial_url is not None:
         self.get(self._initial_url)
     return self
# -*- coding: UTF-8 -*-

from selenium import webdriver

#启动浏览器的时候不想看的浏览器运行,那就加载浏览器的静默模式,让它在后台偷偷运行。用headless
option = webdriver.ChromeOptions()
option.add_argument('headless')

try:
    #browser  = webdriver.Remote(desired_capabilities=webdriver.DesiredCapabilities.ANDROID)
    browser = webdriver.Android(host='localhost',
                                port=8080,
                                desired_capabilities={
                                    'browserName': 'android',
                                    'version': '',
                                    'platform': 'ANDROID'
                                })
except BaseException as e:
    #加载预设项
    browser = webdriver.Chrome(chrome_options=option)

browser.get('http://www.baidu.com')
a = browser.get_cookies()  #获取当前页面的cookies
print(a)

#browser.close() #关闭浏览器
Exemple #9
0
#!usr/bin/env python3
import requests
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

if __name__ == "__main__":
    # headers = {
    #     "User-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 "
    #                   "(KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36"}
    # uri = str("http://seat.lib.whu.edu.cn/login")
    # res = requests.get(uri, headers=headers)
    # print(res.text)
    browser = webdriver.Android()
    browser.get("https://whu.pt/torrents.php?cat2=1&cat402=1&cat417=1&cat416=1&cat418=1")
    browser.implicitly_wait(10)
Exemple #10
0
def getcookie(un, pw):
    c1 = 'sh & '
    c2 = r"am start -n org.openqa.selenium.android.app/org.openqa.selenium.android.app.MainActivity"
    c3 = r"am force-stop org.openqa.selenium.android.app"
    c = c1 + c3
    os.system(c)
    time.sleep(2)
    c = c1 + c2
    os.system(c)
    time.sleep(1)
    desired_caps = {}
    desired_caps['platform'] = 'Android'
    desired_caps['platformVersion'] = '4.4.4'
    desired_caps['deviceName'] = 'MI 3'
    desired_caps['browserName'] = 'chrome'
    desired_caps['noReset'] = 'true'

    try:
        #browser  = webdriver.Remote(desired_capabilities=webdriver.DesiredCapabilities.ANDROID)
        browser = webdriver.Android(host='localhost',
                                    port=8080,
                                    desired_capabilities={
                                        'browserName': 'android',
                                        'version': '',
                                        'platform': 'ANDROID'
                                    })
    except BaseException as e:
        options = webdriver.ChromeOptions()
        options.binary_location = r'D:\Program Files\local-chromium\575458\chrome-win32\chrome.exe'
        browser = webdriver.Chrome(chrome_options=options)

    browser.get(
        'https://wx.zhongtuobang.com/login/mobileLogin?uri=%2Fuser%2Fmine')

    user = browser.find_element_by_xpath("//*[@id='username']")
    '''xpath路径获取:使用chrome浏览器开发者选项,定位到元素,
    在元素html代码上点右键,选择copy-copy xpath。复制代码内的双引号要改成单引号
    '''
    user.clear()  #清除文本框内数据
    user.send_keys(un)  #写数据

    password = browser.find_element_by_xpath("//*[@id='password']")
    password.clear()  #清除文本框内数据
    password.send_keys(pw)  #写数据

    login = browser.find_element_by_xpath("//*[@id='login-userpass-btn']")
    login.click()  #点击按钮
    time.sleep(3)

    browser.get("https://wx.zhongtuobang.com/payment/ddk")

    dk = browser.find_element_by_xpath("//*[@id='continueDays']/img")
    dk.click()
    time.sleep(3)

    multiple = browser.find_element_by_xpath("//*[@id='multiple']/img")
    multiple.click()
    time.sleep(3)

    a = browser.get_cookies()  #获取当前页面的cookies

    cookies = ""
    for x in a:
        cookies = cookies + x['name'] + "=" + x['value'] + ";"
    print(cookies)
    browser.quit()  #关闭浏览器
    return cookies
 def setUp(self):
     self.driver = webdriver.Android()
     self.driver.implicitly_wait(30)
     self.driver.get("http://www.google.com.hk")
# In[7]:

#chrome_options = webdriver.ChromeOptions()
#prefs = {"profile.default_content_setting_values.notifications": 2}
#chrome_options.add_experimental_option("prefs", prefs)
#browser = webdriver.Android
#options = webdriver.ChromeOptions()
#options.add_experimental_option('androidPackage', 'com.android.chrome')
capabilities = {
    'chromeOptions': {
        'androidPackage': 'com.android.chrome',
    }
}
browser = webdriver.Android(host='localhost',
                            port=4444,
                            desired_capabilities=capabilities)
#driver = webdriver.Chrome('./chromedriver', options=options)

# In[9]:

call = group_post(email, pwd, media, text)

# In[10]:

call.login()
time.sleep(4.0)

# In[29]:

url_list = call.grp_urls()
Exemple #13
0
 def boot_driver(self):
     return webdriver.Android(**self.browser_args)