def get_mis_driver(cls): if cls.__mis_driver is None: cls.__mis_driver = webdriver.Chrome() cls.__mis_driver.get('http://ttmis.research.itcast.cn/') cls.__mis_driver.maximize_window() cls.__mis_driver.implicitly_wait(10) return cls.__mis_driver
def get_mp_driver(cls): if cls._mp_driver is None: cls._mp_driver = webdriver.Chrome() cls._mp_driver.maximize_window() cls._mp_driver.implicitly_wait(10) cls._mp_driver.get(config.MP_BASE_URL) return cls._mp_driver
def driver_get_mis(cls): # 为了防止脚本多次调用获取浏览器驱动对象的方法产生多个浏览器窗口 # 添加私有变量__driver来储存浏览器驱动对象,并且判断 if cls.__driver_mis is None: # 创建浏览器驱动对象---->打开浏览器 cls.__driver_mis = webdriver.Chrome() cls.__driver_mis.maximize_window() cls.__driver_mis.implicitly_wait(30) cls.__driver_mis.get("http://ttmis.research.itcast.cn/") # 返回窗口最大化以及隐式等待的浏览器驱动对象 return cls.__driver_mis
def login(self,user,password,captcha): driver = webdriver.Chrome() driver.get('http://betanewwsh.vikduo.com/login/index') driver.find_element_by_id('staff_id').send_keys(user) driver.find_element_by_id('password').send_keys(password) driver.find_element_by_id('captcha').send_keys(captcha) driver.find_element_by_id('login').click() time.sleep(3) driver.find_element_by_id('navbar').click() driver.find_element_by_xpath("//a[@href='/second-kill/list']").click()
def get_web_driver(cls, url): # 判断driver为空 if cls.__web_driver is None: # 获取浏览器 cls.__web_driver = webdriver.Chrome() # 最大化浏览器 cls.__web_driver.maximize_window() # 打开url cls.__web_driver.get(url) # 返回driver return cls.__web_driver
def BuyMeal(self): self.driver = webdriver.Chrome() url = dict['B端测试环境']['url'] self.driver.get(url) self.driver.implicitly_wait(15) self.driver.maximize_window() self.driver.find_element_by_css_selector( dict['B端测试环境']['用户名输入框']).send_keys(dict['B端测试环境']['登录用户名']) self.driver.find_element_by_css_selector( dict['B端测试环境']['密码输入框']).send_keys(dict['B端测试环境']['登录密码']) time.sleep(1) self.driver.find_element_by_css_selector(dict['B端测试环境']['登录按钮']).click() time.sleep(2) self.driver.find_element_by_css_selector(dict['B端测试环境']['线上']).click() time.sleep(2) self.driver.switch_to_frame(1) time.sleep(1) self.driver.find_element_by_css_selector(dict['B端测试环境']['线上渠道']).click() time.sleep(1) self.driver.switch_to_default_content() time.sleep(1) self.driver.switch_to_frame(2) self.driver.find_element_by_css_selector(dict['B端测试环境']['盈客宝管理']).click() time.sleep(1) self.driver.switch_to_default_content() self.driver.switch_to_frame(3) self.driver.find_element_by_css_selector(dict['B端测试环境']['会员注册设置']).click() time.sleep(1) # 选择购买入会套餐 self.driver.switch_to_frame(1) self.driver.find_element_by_css_selector(dict['B端测试环境']['购买入会套餐']).click() time.sleep(1) self.driver.find_element_by_xpath(dict['B端测试环境']['超级会员套餐复选框']).click() time.sleep(1) # 保存按钮 self.driver.find_element_by_css_selector( dict['B端测试环境']['入会方式保存按钮']).click() time.sleep(1) self.driver.close() # 断言 # 入会方式:0自动注册入会;1购买超级套餐入会 try: sql = dict['mysql']['查询会员入会方式'] result = MySql.db_Query_233(self, dict['mysql']['datebase233'], sql) result2 = re.findall(r"[(](.+?)[,]", str(result)) wayValues = result2[0] if wayValues == '0': print(r'当前入会方式为:自动注册入会!') elif wayValues == '1': print(r'当前入会方式为:购买超级套餐入会!') except Exception: print('查询入会方式失败!', Exception)
def getWebDriver(self, type="chrome"): '''Initialize webdriver and return Parameter: type: str (optional) value: chrome or firefox retrun chrome wendriver if value is unspecified''' from selenium import webdriver from selenium.webdriver.common.keys import Keys if type == "firefox": return webdriver.Firefox() else: return webdriver.Chrome()
def selenium_desirde_web(): browser = webdriver.Chrome() chrome_options = Options() # 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Selenium # chrome_options.add_experimental_option('--disable-gpu') time.sleep(1) # 访问登录页面 url = 'http://wlhyp.utrailertj.com/login.html' time.sleep(3) # 设置界面最大化 browser.maximize_window() browser.get(url)
def initDriver(cls, key): # 加载yaml文件 YAML_DIR = os.getcwd() print(YAML_DIR) if YAML_DIR.endswith('testcase'): YAML_DIR = '../data/' else: YAML_DIR = 'data/' driver_data = yaml.load(open(YAML_DIR + 'driver.yaml')) url = driver_data[key]['url'] implicitly_wait = driver_data[key]['implicitly_wait'] # cls.driver = webdriver.Remote(desired_capabilities=DesiredCapabilities.CHROME) cls.driver = webdriver.Chrome() cls.driver.implicitly_wait(implicitly_wait) cls.driver.get(url) cls.driver.maximize_window() return cls.driver
def setUpClass(cls) -> None: print('Initializing') if config.get_property('basic', 'browser') == "Chrome": print("Starting chrome Browser") cls.driver = webdriver.Chrome('../driver/chromedriver.exe') cls.driver.implicitly_wait(10) cls.driver.maximize_window() else: cls.driver = webdriver.Remote( command_executor='http://0.0.0.0:4723/wd/hub', desired_capabilities={ 'app': '/Users/synerzip/Desktop/UICatalog.app', 'platformName': 'iOS', 'automationName': 'XCUITest', 'bundleID': 'com.demo.UICatalog123', 'platformVersion': '12.2', 'deviceName': 'iPhone X', 'useNewWDA': 'true', 'waitForQuiescence': 'false' })
try: elements=WebDriverWait(driver,5).until\ (lambda x:x.find_elements(by=locateType,value=locatorExpression)) return elements except Exception as e: raise e def selectElement(driver, locateType, locatorExpression, text): "获取下拉框元素对象,通过文本值定位" try: element=Select(WebDriverWait(driver,5).until \ (lambda x: x.find_element(by=locateType, value=locatorExpression))) element.select_by_visible_text(text) except Exception as e: raise e # selectElement=Select(driver.find_element_by_xpath('//select[@name="productId"]')) # # 通过选项的文本选择“B2C网银”选项 # selectElement.select_by_visible_text("B2C网银") if __name__ == "__main__": driver = webdriver.Chrome(executable_path="D:\\chromedriver.exe") driver.get("http://mail.126.com") driver.implicitly_wait(10) driver.switch_to.frame( driver.find_element_by_xpath('//iframe[contains(@id,"x-URS-iframe")]')) searchBox = getElement(driver, "xpath", '//input[@name="email"]') searchBox.send_keys("123456") time.sleep(2) driver.quit()
self.assertEqual(text, '创建相册') sleep(3.0) self.dianjituichu() sleep(2.0) self.tiaozhuanwod() sleep(2.0) def test_2(self): text = xinxi(self.dr) self.assertEqual(text, '测试用户') sleep(2.0) def test_3(self): text = wd(self.dr) self.assertEqual(text, '云存储') if __name__ == '__main__': unittest.main() from selenium import webdriver from lxml import etree from pyquery import PyQuery import time drive = webdriver.Chrome() drive.get() drive.implicitly_wait(10) #智能等待 drive.find_element_by_link_text().click() sleep(3.0)
def web_config(caps): from selenium import webdriver browser = webdriver.Chrome() browser.get('http://www.baidu.com/')
def setup(self): """ 设置单机版 浏览器驱动 :return: """ # 判断当前系统 try: if self.inspect_url_code(self.url): # 如果项目地址正常 current_sys = sys.platform.lower() log_path = os.path.join(LOG_DIR, f'{DAY}firefox.log') if current_sys == 'linux': # linux系统 if self.browser == 'chrome': # 谷歌浏览器 option = self.linux_chrome_args driver = webdriver.Chrome(executable_path=LUINX_CHROMEDRIVER, options=option) return self.browaer_setup_args(driver) elif self.browser == 'firefox': # 火狐浏览器 options = self.linux_firefox_args driver = webdriver.Firefox(executable_path=LUINX_FIREFOXDRIVER, options=options, service_log_path=log_path) drivers = self.browaer_setup_args(driver) return drivers # 在linux下启用 火狐浏览器需要借助Display else: logger.error(f'linux系统不支持此浏览器: {self.browser}') return False elif current_sys == 'darwin': # mac 系统 if self.browser == 'chrome': driver = webdriver.Chrome(executable_path=MAC_CHROMEDRIVER) return self.browaer_setup_args(driver) elif self.browser == 'firefox': driver = webdriver.Firefox(executable_path=MAC_FIREFOXDRIVER, service_log_path=log_path) return self.browaer_setup_args(driver) elif self.browser == 'safari': driver = webdriver.Safari() return self.browaer_setup_args(driver) else: logger.error(f'mac系统不支持此浏览器: {self.browser}') return False elif current_sys == 'win32': if self.browser == 'ie': logger.warning('请确保当前服务器安装IE!') driver = webdriver.Ie(executable_path=IE_PATH) return self.browaer_setup_args(driver) if self.browser == 'chrome': driver = webdriver.Chrome(executable_path=WIN_CHROMEDRIVER) return self.browaer_setup_args(driver) elif self.browser == 'firefox': driver = webdriver.Firefox(executable_path=WIN_FIREFOXDRIVER, service_log_path=log_path) return self.browaer_setup_args(driver, ) else: logger.error(f'windos系统不支持此浏览器: {self.browser}') return False else: logger.error(f'当前{current_sys}系统不支持!') return False else: logger.error('项目地址地址请求异常!!!') return False except Exception as e: logger.error(f'浏览器驱动启动失败 {e}') return False
def chrome_driver_init(self, request): chrome_driver = webdriver.Chrome( base_config.Configuration.get_chrome_driver()) request.cls.driver = chrome_driver yield chrome_driver.close()