from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import functiondemo
import datetime
from selenium.webdriver import Keys
from selenium.webdriver.chrome.options import Options as Options1
from selenium.webdriver.firefox.options import Options as Options2
from time import sleep
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
chromeoptions = Options()
chromeoptions.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
#
#mobile_emulation = {"deviceName": "iPhone 6"}
#options1 = Options1()
#options1.add_experimental_option("mobileEmulation", mobile_emulation)
#options1.add_experimental_option("excludeSwitches",["enable-automation"])
#options1.add_experimental_option("useAutomationExtension",'False')#设置手机模拟状态窗口大小
#options1.add_experimental_option("prefs",{"credentials_enable_service": False, "profile.password_manager_enabled": False})#禁止保存密码弹窗
# driver就是当前浏览器窗口
driver = webdriver.Chrome(options=chromeoptions)
# driver.binary_location=r'F:\sikuli\dianlan\chromedriver.exe'
# driver.get("http://192.168.1.")
functiondemo.FunctionSend_keys(driver,"//*[@id=\"kw\"]","qt1")
functiondemo.FunctionWebDriverWaitClick(driver,"//*[@id=\"su\"]")
import os
import datetime
from selenium import webdriver
from selenium.webdriver import Keys
from selenium.webdriver.chrome.options import Options as Options1
from selenium.webdriver.firefox.options import Options as Options2
from time import sleep
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from openpyxl import Workbook
from openpyxl import load_workbook
#滚动视图到指定位置
def FunctionScrollIntoView(driverZ,xpath):
target = driverZ.find_element(By.XPATH,xpath) # 需要将滚动条拖动至的指定的元素对象定位
driverZ.execute_script("arguments[0].scrollIntoView();", target)
#鼠标悬停于指定位置
def FunctionActionChains(driverZ,xpath):
element = driverZ.find_element(By.XPATH, xpath)
sleep(0.5)
webdriver.ActionChains(driverZ).move_to_element(element).perform()
#点击
def FunctionClick(driverZ, xpath):
driverZ.find_element(By.XPATH, xpath).click()
#鼠标悬停于指定位置并点击
def FunctionMove_to_element(driverZ, xpath):
element = driverZ.find_element(By.XPATH,xpath)
sleep(0.2)
webdriver.ActionChains(driverZ).move_to_element(element).click(element).perform() # 打开拓展
#按钮点击
def FunctionWebDriverWaitClick(driverZ, xpath):
WebDriverWait(driverZ, 10).until(
EC.element_to_be_clickable((By.XPATH, xpath))).click()
#输入
def FunctionSend_keys(driverZ, xpath,information):
driverZ.find_element(By.XPATH, xpath).clear()
driverZ.find_element(By.XPATH, xpath).send_keys(information)
driverZ.find_element(By.XPATH, xpath).clear()
driverZ.find_element(By.XPATH, xpath).send_keys(information)
#强制点击
def FunctionForceClick(driverZ,xpath):
comfirmdel = driverZ.find_element(By.XPATH, xpath)
driverZ.execute_script("arguments[0].click();", comfirmdel)
#筛选一级下拉框,点击指定选项
def FunctionElement1(driverZ,xpath1,xpath2):
element1 = driverZ.find_elements(By.XPATH,
xpath1) # 筛选的数量
element2 = driverZ.find_elements(By.XPATH,xpath2)#准备的容器
for ele0 in element1:
if ele0.is_displayed():
WebDriverWait(ele0, 10)
element2 = ele0
element2.click()
#关闭当前窗口
def FunctionClose(driverZ):
driverZ.close()
#模拟回车键
def FunctionEnter(driverZ,xpath):
driverZ.find_element(By.XPATH, xpath).send_keys(Keys.ENTER)
# send_keys(Keys.BACK_SPACE) 删除键BackSpace
# send_keys(Keys.SPACE) 空格键Space
# send_keys(Keys.TAB) 制表键Tab
# send_keys(Keys.ESPACE) 回退键Esc
# send_keys(Keys.ENTER) 回车键Enter
# send_keys(Keys.CONTROL,‘a’) 全选Ctrl+A
# send_keys(Keys.CONTROL,‘c’) 复制CTRL+C
# send_keys(Keys.CONTROL,‘x’) 剪切CTRL+X
# send_keys(Keys.CONTROL,‘v’) 粘贴Ctrl+V
# send_keys(Keys.F1) 键盘F1
# send_keys(Keys.F12) 键盘F12
#获取组件文本
def FunctionText(driverZ,xpath):
newtext=driverZ.find_element(By.XPATH, xpath).text
return newtext
通用启动
if __name__ == "__main__":
try
try:
functiondemo.FunctionClick(driver, "//span[text()=\"*\"]/../..")#正常运行代码
except Exception:
functiondemo.FunctionClick(driver, "//span[text()=\"*\"]/../i")#报错后运行代码
functiondemo.FunctionClick(driver,"//span[text()=\"*\"]/../..")
print("*")
temporaryspace1 = [["name" for i in range(0, 100)] for j in range(0, 4)] # 最大容量为100项目,翻4倍
for i in range(44): 从0到43
for i in range(0,43):从0到42