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
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')
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))
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
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() #关闭浏览器
#!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)
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()
def boot_driver(self): return webdriver.Android(**self.browser_args)