1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- from selenium.webdriver.common.by import By
- from selenium.webdriver.support import expected_conditions as EC
- from selenium.webdriver.support.ui import WebDriverWait
- def check_navigator(driver):
- """检查navigator属性"""
- script = "return window.navigator.webdriver"
- return driver.execute_script(script)
- def until_wait(
- driver,
- *,
- xpath=None,
- classname=None,
- text=None,
- timeout=None
- ):
- """
- 显示等待页面加载,否则抛出TimeoutException
- :param driver: 浏览器驱动
- :param xpath: xpath规则,页面等待特征
- :param classname: class属性名称,页面等待特征
- :param text: 期待的文本
- :param timeout: 超时时间
- :return:
- """
- _timeout = (timeout or 60)
- wait = WebDriverWait(driver, _timeout, 0.2)
- if xpath is not None:
- locator = (By.XPATH, xpath)
- if text is not None:
- wait.until(EC.text_to_be_present_in_element(locator, text))
- else:
- wait.until(EC.presence_of_element_located(locator))
- elif classname is not None:
- locator = (By.CLASS_NAME, classname)
- if text is not None:
- wait.until(EC.text_to_be_present_in_element(locator, text))
- else:
- wait.until(EC.presence_of_element_located(locator))
- def new_window(driver):
- """新的窗口"""
- driver.execute_script('window.open();')
- handles = driver.window_handles
- driver.switch_to.window(handles[-1])
- def get_user_agent(driver):
- return driver.execute_script("return navigator.userAgent;")
- def get_title(driver):
- return driver.execute_script('return document.title')
|