class Browse: def __init__(self, driver): self.driver = driver signin = By.CSS_SELECTOR("a.login") loginemail = By.ID("email") loginpassword = By.ID("passwd") loginsubmit = By.ID("SubmitLogin") menu = By.XPATH("//div[@id='block_top_menu']/ul/li/a") searchbar = By.ID("search_query_top") def login(self): return self.driver.find_element(*Browse.signin).click() def logemail(self): return self.driver.find_element(*Browse.loginemail).send_keys("*****@*****.**") def logpassword(self): return self.driver.find_element(*Browse.loginpassword).send_keys("Sindhu124") def logsubmit(self): return self.driver.find_element(*Browse.loginsubmit).click() def search(self): return self.driver.find_element(*Browse.searchbar).send_keys("printed") def searchenter(self): return self.driver.find_element(*Browse.searchbar).send_keys(Keys.ENTER)
class LoginPage(object): username_locator = By.ID("username") password_locator = By.ID("passwd") login_button_locator = By.ID("login") def __init__(self): self.driver = webdriver.Firefox(executable_path="H:\\Webdrivers\\geckodriver.exe")
def bleConnect_long(self): #进入设备详情页 self.enter_device() try: WebDriverWait( self.driver, 60).until(lambda x: x.find_element_by_android_uiautomator( 'new UiSelector().text(\"已连接\")')).is_displayed() except: print('蓝牙首次未连接') self.loger.info('蓝牙首次未连接') else: print('蓝牙首次连接') self.loger.info('蓝牙首次连接') # 进入设置页 btn_settting = self.driver.find_element_by_id("btn_setting") sleep(1) btn_settting.click() sleep(3) while True: try: WebDriverWait(self.driver, 10, 0.5).until( (By.ID('device_lock_switch'))).is_clickable() except: print('蓝牙断开连接') self.loger.info('蓝牙断开连接') self.screenshot('蓝牙断开连接') break else: print('5s检测一次,蓝牙正常连接') self.loger.info('5s检测一次,蓝牙正常连接') sleep(5)
class Search: def __init__(self, driver): self.driver = driver searchbar = By.ID("search_query_top") searchbar.send_keys("printed") searchbar.send_keys(Keys.ENTER) print( By.XPATH( "//*[@id='center_column']/h1/span[@class='heading-counter']").text)
def getLocator(self, locator): by = None key = locator.split(":") if len(key) == 1: by = By.ID(locator) elif len(key) == 2: key[0] = key[0].lower() key[1] = key[1].strip() if key[0] == "id": by = By.ID(key[1]) if key[0] == "name": by = By.NAME(key[1]) if key[0] == "xpath": by = By.XPATH(key[1]) if key[0] == "linktext": by = By.LINK_TEXT(key[1]) elif key[0] == "particallinktext": by = By.PARTIAL_LINK_TEXT(key[1]) else: print("NO LOCATOR MATCHED") return by
def test_open_website(): print("Start of open website") driver = webdriver.Firefox() wait.WebDriverWait(driver,5,2,None) # set implicit time to 30 seconds # driver.implicitlyWait(30) # navigate to the url driver.get("https://chercher.tech/python/windows-selenium-python") # get the Session id of the Parent parentGUID = driver.current_window_handle # click the button to open new window print(f'Printing Parent ID: {parentGUID}') driver.find_element(By.ID("two-window")).click() # driver.find_element_by_id("two-window").click() # time.sleep(5000) # get the All the session id of the browsers allGUID = driver.window_handles # pint the title of th epage # print("Page title before Switching : " + driver.title()) # print("Total Windows : " + len(allGUID)) # iterate the values in the set print(allGUID) for guid in allGUID: # one enter into if blobk if the GUID is not equal to parent window's GUID print(f'inside FOr loop') if guid != parentGUID: # switch to the guid # driver.switch_to_window(guid); print(guid) driver.switch_to(guid) else: print(f'Am out of IF and inside Else') driver.switch_to_window(guid.title()) # break the loop break # search on the google page driver.find_element_by_name("q").send_keys("success") # print the title after switching print("Page title after Switching to goolge : " + driver.title()) # time.sleep(5000); # close the browser driver.execute_script("window.scrollTo") driver.close() # switch back to the parent window # driver.switch_to_window(parentGUID); driver.switch_to(parentGUID) # print the title print("Page title after switching back to Parent: " + driver.title())
def test_login(self, user_name, password, err_msg=''): '''This method takes 3 arguments, username, password and optional error message''' # clicks on the login option try: WebDriverWait(self.driver, config.driver_wait).until( ec.visibility_of( self.driver.find_element_by_css_selector(self._sign_in))) ele_options = self.driver.find_elements_by_css_selector( self._sign_in) for ele in ele_options: option = ele.text if option == 'Sign in': print('Sign-in option found and clicking it') # it will click on the sign in option and hamburger menu will close ele.click() break except Exception as e: print('Sign-in option not found', e) # waits for the sign-in options/page to load WebDriverWait(self.driver, config.driver_wait).until( ec.presence_of_element_located(By.ID(self._ele_lgn))) ele_lgn = self.driver.find_element_by_id(self._ele_lgn) ele_pswd = self.driver.find_element_by_id(self._ele_pswd) ele_sbt = self.driver.find_element_by_id(self._ele_sbt) ele_lgn.clear() ele_lgn.send_keys(user_name) ele_pswd.clear() ele_pswd.send_keys(password) ele_sbt.submit() # user will land on dashboard upon successful login, soft assert to check browser title if self.driver.title == 'User Dashboard': # assumed dashboard title print('Test pass') else: # wait for message to be visible to user WebDriverWait(self.driver, config.driver_wait).until( ec.visibility_of( self.driver.find_element_by_css_selector(self._err_msg))) ele_login = self.driver.find_element_by_css_selector(self._err_msg) err_login = ele_login.text # comparing if the actual and expected messages are same if err_msg == err_login: print('Test pass') else: print('Test fail')
def fluentWaitElementById(location): try: element = WebDriverWait(location.driver, 10).until( EC.presence_of_element_located((By.ID(location)))) finally: location.driver.quit()
def find_element_by_id(self, element): return self.driver.find_element(By.ID(element))
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC link = "http://suninjuly.github.io/wait1.html" link2 = "http://suninjuly.github.io/wait2.html" browser = webdriver.Chrome() browser.get(link2) #browser.implicitly_wait(5) #browser.find_element_by_id("check").click() button = WebDriverWait(browser, 5).until(EC.element_to_be_clickable((By.ID, "check"))) button.click() button2 = WebDriverWait(browser, 12).until( EC.text_to_be_present_in_element(By.ID("123123"), "123123")) message = browser.find_element_by_id("check_message").text assert "успешно" in message
class Account: def __init__(self, driver): self.driver = driver signin = By.CSS_SELECTOR("a.login") account_email = By.ID("email_create") create_account = By.ID("SubmitCreate") first_name = By.ID("customer_firstname") last_name = By.ID("customer_lastname") password = By.ID("passwd") address = By.ID("address1") city = By.ID("city") zipcode = By.ID("postcode") states = By.XPATH("//*[@id='id_state']/option[5]") phone_number = By.ID("phone_mobile") address_alias = By.ID("alias") register = By.ID("submitAccount") def signing(self): return self.driver.find_element(*Account.signin).click() def sendemail(self): return self.driver.find_element( *Account.account_email).send_keys("*****@*****.**") def createaccount(self): return self.driver.find_element(*Account.create_account).click() def firstnamesend(self): return self.driver.find_element( *Account.first_name).send_keys("Sindhu") def lastnamesend(self): return self.driver.find_element(*Account.last_name).send_keys("Sh") def passwordsend(self): return self.driver.find_element( *Account.password).send_keys("Sindhu124") def addresssend(self): return self.driver.find_element( *Account.address).send_keys("2421 carlmont") def citysend(self): return self.driver.find_element(*Account.city).send_keys("Belmont") def statesend(self): return self.driver.find_element(*Account.states).click() def zipcodesend(self): return self.driver.find_element(*Account.zipcode).send_keys("94002") def phonesend(self): return self.driver.find_element( *Account.phone_number).send_keys("6504036567") def addressaliassend(self): return self.driver.find_element( *Account.address_alias).send_keys("Bangalore India") def registered(self): return self.driver.find_element(*Account.register).click()
class Locators: def __init__(self): super().__init__() locator1 = By.ID("asd")
from selenium import webdriver from selenium.webdriver.common.keys import Keys import time from selenium.webdriver.common.by import By driver = webdriver.Chrome(executable_path="D:\drivers\chromedriver.exe") driver.get("https://www.expedia.com") driver.implicitly_wait(10) driver.find_element_by_xpath( "/html/body/meso-native-marquee/section/div/div/div[1]/section/div/div[2]/div[2]/section[2]/form/div[6]/div/div/div[1]/label/input" ).send_keys("chandigarh") driver.find_element_by_xpath("/html/body").send_keys("04/24/2020") driver.find_element(By.ID("hotel-checkout-hp-hotel")).send_keys("04/25/2020") driver.find_element_by_xpath( "/html/body/meso-native-marquee/section/div/div/div[1]/section/div/div[2]/div[2]/section[2]/form/div[13]/label/button" ).click()
from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support.ui import Select from selenium.webdriver.common.by import By import time driver = webdriver.Chrome( executable_path= "C:\\Users\\aahme\\Desktop\\webdriver_executables\\chromedriver.exe") driver.get("") element = driver.find_element(By.ID("element1")) #Scroll by pixel amount driver.execute_script("window.scrollBy(0,500)", "") driver.execute_script("arguements[0].scrollIntoView();", element) # keep scrolling til element in view #Scroll entire length of document driver.execute_script("window.scrollBy(0,document.body.scrollHeight)")
if (paper_title.lower().replace( ' ', '') in page_source.lower().replace(' ', '') or paper_title2.lower().replace(' ', '') in page_source.lower().replace(' ', '')): paper_found = True id_autor_xml = informacoes_autor.find_element_by_tag_name( 'li') id_autor_xml = id_autor_xml.text[-16:] if not (id_autor_xml + '.zip') in ids_downloaded: print(base_url + '/download.do?idcnpq=' + id_autor_xml) driver.get(base_url + '/download.do?idcnpq=' + id_autor_xml) while driver.findElement( By.ID("btn_validar_captcha")): imgBase64 = convertCaptchatoBase64(driver) r = requests.post( 'http://192.168.200.84:8080/CaptchaService/captcha', data=json.dumps({'imgBase64': imgBase64})) r.encoding = "UTF-8" jsonCaptcha = r.json() driver.find_element_by_id('informado').clear() driver.find_element_by_id( 'informado').send_keys( jsonCaptcha['captcha']) driver.find_element_by_id(