($width) AND $width .= 'px';
$style = " style=\"width: $width\"";
}
$value = $value ? $value : date('H:i');
$s = "";
return $s;
}
// form_date('start', '2018-07-05') 为空则当前日期
function form_date($name, $value = 0, $width = FALSE)
{
$style = '';
if (FALSE !== $width) {
is_numeric($width) AND $width .= 'px';
$style = " style=\"width: $width\"";
}
$value = $value ? $value : date('Y-m-d');
$s = "";
return $s;
}
/**用法
*
* echo form_radio_yes_no('radio1', 0);
* echo form_checkbox('aaa', array('无', '有'), 0);
*
* echo form_radio_yes_no('aaa', 0);
* echo form_radio('aaa', array('无', '有'), 0);
* echo form_radio('aaa', array('a'=>'aaa', 'b'=>'bbb', 'c'=>'ccc', ), 'b');
*
* echo form_select('aaa', array('a'=>'aaa', 'b'=>'bbb', 'c'=>'ccc', ), 'a');
*/
?>组保留的标签 余下为需要删除的标签
unset($oldtag[$key]);
}
}
}
if (!empty($oldtag)) {
$tagids = array();
foreach ($oldtag as $tagid => $tagname) {
$tagids[] = $tagid;
}
well_oldtag_delete($tagids, $tid);
}
$r = well_tag_process($tid, $fid, $create_tag, $tagarr);
return $r;
}
// 删除标签和绑定的主题
function well_oldtag_delete($tagids, $tid)
{
$pagesize = count($tagids);
$arrlist = well_tag_find_by_tagids($tagids, 1, $pagesize);
$delete_tagids = array(); // 删除
$tagids = array();
$n = 0;
foreach ($arrlist as $val) {
++$n;
if (1 == $val['count']) {
// 只有一个主题
$delete_tagids[] = $val['tagid'];
} else {
$tagids[] = $val['tagid'];
}
}
!empty($delete_tagids) and well_tag_delete($delete_tagids);
$arlist = well_tag_thread_find_by_tid($tid, 1, $n);
if ($arlist) {
$ids = array();
foreach ($arlist as $val) $ids[] = $val['id'];
well_tag_thread_delete($ids);
}
!empty($tagids) and well_tag_update($tagids, array('count-' => 1));
}
// 标签数据处理 $arr=新提交的数组 $tagarr=保留的旧标签
function well_tag_process($tid, $fid, $new_tags = array(), $tagarr = array())
{
if (empty($tid)) return '';
// 新标签处理入库
if ($new_tags) {
$threadarr = array();
$tagids = array();
$i = 0;
$size = 5;
$n = count($tagarr);
$n = $n > $size ? $size : $size - $n;
foreach ($new_tags as $name) {
++$i;
$name = trim($name);
$name = stripslashes($name);
$name = strip_tags($name);
$name = str_replace(array(' ', '#', "@", "$", "%", "^", '&', '·', '<', '>', ';', '`', '~', '!', '¥', '……', ';', '?', '?', '-', '—', '_', '=', '+', '.', '{', '}', '|', ':', ':', '、', '/', '。', '[', ']', '【', '】', '‘', ' ', ' ', ' ', ' ', ' '), '', $name);
$name = htmlspecialchars($name, ENT_QUOTES);
if ($name && $i <= $n) {
// 查询标签
$read = well_tag_read_name($name);
if ($read) {
// 存在 count+1
$tagids[] = $read['tagid'];
} else {
// 入库
$arr = array('name' => $name, 'count' => 1);
$tagid = well_tag_create($arr);
FALSE === $tagid and message(-1, lang('create_failed'));
$read = array('tagid' => $tagid, 'name' => $name);
}
$tag_thread = array('tagid' => $read['tagid'], 'tid' => $tid);
$threadarr[] = $tag_thread;
$tagarr[$read['tagid']] = $read['name'];
}
}
!empty($threadarr) and tag_thread_big_insert($threadarr);
!empty($tagids) and well_tag_update($tagids, array('count+' => 1));
}
$json = empty($tagarr) ? '' : xn_json_encode($tagarr);
return $json;
}
?>return $r;
}
/**
* @param int $page 页数
* @param int $pagesize 每页显示数量
* @return mixed
*/
function link_find($page = 1, $pagesize = 100)
{
$arr = link__find($cond = array(), array('rank' => -1), $page, $pagesize);
return $arr;
}
/**
* @param $id
* @return bool 返回FALSE失败 TRUE成功
*/
function link_delete($id)
{
if (empty($id)) return FALSE;
$r = link__delete(array('id' => $id));
link_delete_cache();
return $r;
}
//--------------------------kv + cache--------------------------
/**
* @return mixed 返回全部友情链接
*/
function link_get($page = 1, $pagesize = 100)
{
$g_link = website_get('friends_link');
if (empty($g_link)) {
$g_link = link_find($page, $pagesize);
$g_link AND website_set('friends_link', $g_link);
}
return $g_link;
}
// delete kv and cache
function link_delete_cache()
{
website_set('friends_link', '');
return TRUE;
}
?> $v = implode(",", $v);
$temp[] = $v;
}
// 去掉重复的字符串,也就是重复的一维数组
$temp = array_unique($temp);
// 再将拆开的数组重新组装
$output = array();
foreach ($temp as $k => $v) {
if ($stkeep) $k = $starr[$k];
if ($ndformat) {
$temparr = explode(",", $v);
foreach ($temparr as $ndkey => $ndval) $output[$k][$ndarr[$ndkey]] = $ndval;
} else $output[$k] = explode(",", $v);
}
return $output;
}
// 合并二维数组 如重复 值以第一个数组值为准
function array2_merge($array1, $array2, $key = '')
{
if (empty($array1) || empty($array2)) return NULL;
$arr = array();
foreach ($array1 as $k => $v) {
isset($v[$key]) ? $arr[$v[$key]] = array_merge($v, $array2[$k]) : $arr[] = array_merge($v, $array2[$k]);
}
return $arr;
}
/*
* 对二维数组排序 两个数组必须有一个相同的键值
* $array1 需要排序数组
* $array2 按照该数组key排序
* */
function array2_sort_key($array1, $array2, $key = '')
{
if (empty($array1) || empty($array2)) return NULL;
$arr = array();
foreach ($array2 as $k => $v) {
if (isset($v[$key]) && $v[$key] == $array1[$v[$key]][$key]) {
$arr[$v[$key]] = $array1[$v[$key]];
} else {
$arr[] = $v;
}
}
return $arr;
}
?>
Windows系统下的Selenium安装教程-软件玩家 - 软件改变生活!
安装Selenium
- 打开cmd框,输入pip install selenium。
- 安装成功以后,可以输入pip show selenium命令,来查看当前包的版本信息。
安装浏览器驱动
WebDriver支持Firefox、IE、Opera和Chrome等浏览器。由于Firefox浏览器驱动默认已经在Selenium WebDriver包里了,因此不需要专门下载驱动,可以直接调用。
以Chrome浏览器为例:
- 在官网http://chromedriver.storage.googleapis/index.html当中,选择对应的浏览器版本号进行下载。(注:只有win32位版本可以下载,但是不影响win64电脑使用。)
本文标签:
教程系统Windowsselenium
更多相关文章
360安全卫士中毒了?拯救指南,轻松搞定!
From: 由于现在360安全卫士对病毒木马有着99%的查出率和杀灭率,对于各种病毒木马的生存构成了极大的威胁,所以各式各样的病毒木马纷纷将360安全卫士作为首要的功击目标,正所谓树大招风。只要360安全卫士能够打开,病
CSDN遇上360浏览器:打开困难症的根源在哪?
从百度或者csdn的搜索中打开,会发现打不开网页,以前也出现过,只是以为这篇文章被删了,昨天接连多个文章打不开,怀疑的浏览器的问题,复制网址到edge浏览器就打开了 刚刚又出现了,怀疑360会拦截某些内容 edge浏览
360极速浏览器网页访问不顺畅?解码攻略在这里!
360极速浏览器打不开网页的解决方法近期,不少用户在使用360极速浏览器时遇到了网页无法打开的问题。这一困扰不仅影响了用户的日常网络浏览体验,还可能阻碍一些重要工作的进行。为了帮助大家解决这一问题,本文将详细探讨可能导致
MySQL打不开?三大步骤快速解决
今天碰到一件特别郁闷的事,就是一直打不开MySQL,输入的密码都是正确的,可就是打不开。然后重启一下,直接打开navicat,能打开,再打MySQL,也成功了(MySQL被设置为开机启动项)。然后过了一会儿,再打MySQL的时候,就又
免费玩转 Office 2016,系统资源一网打尽!
Office 2016 安装系统资源下载 资源描述 本仓库提供Office 2016正式版的安装资源下载。Office 2016是一款功能强大的办公软件套件,支持Windows 7、Windows 8和Windows
从Office2016出发:揭秘新旧版本的安装技巧
为什么重新修改这篇文章,因为最近又用到了Oracle水晶球需要office2007支持哈哈一台电脑可以安装两个不同版本的Office。在安装时,需要注意以下几点: 确保两个版本不会相互冲突。
免费Mac Office 2016安装包,轻松上手教程
Mac Office 2016 安装包下载教程 本资源文件提供了适用于苹果系统的 Mac Office 2016 安装包下载教程,包括 Word、Excel 和 PowerPoint 的安装步骤。通过本教程,您可以轻松地在 M
不用麻烦,手动设置IE为你的默认浏览器体验
IE本身就是系统默认浏览器,但有时可能会一不小心将其他浏览器设置成了默认浏览器,要恢复IE为默认浏览器可以采取如下的方法。(1)对于Mozilla这类不采用IE内核的浏览器:可以打开IE,选择“工具→Internet选项→程序”,在“检查
不懂代码也能学会,Win7中将IE设为默认浏览器的简易指南
在win7系统中,自带有ie浏览器,但是有些用户可能会安装其他浏览器,这样原先默认IE浏览器就会被篡改,习惯了使用IE浏览器的用户们就不喜欢了,那么要如何设置IE为默认浏览器呢,具体步骤如下。 1、首先从开始菜单或者打开“计算
从Adobe Flash Player到新浏览器,快速解除默认状态!
当电脑里面有多种浏览器的时候,有时候想时候想设置ie为默认浏览器,有时候想设置firefox为默认浏览器,有时候想设置chrome。还有想去掉浏览器启动的时候那个讨厌的提示设置为默认浏览器的提示框。 firefox中的设置方法
搞定Win下的默认浏览器:为何总是IE_Web当道?
今天开始打开项目时,突然间发现我的浏览器被改成了IE打开。奇怪了,并没有设置过默认浏览器为IE! 随后,当然是修改默认浏览器了,如下常规操作: 控制面板》程序》默认程序》设置默认程序》web浏览器》点击并选着你要设置的
一步到位!Win7中快速设置IE为默认浏览器
在win7系统中,自带有ie浏览器,但是有些用户可能会安装其他浏览器,这样原先默认IE浏览器就会被篡改,习惯了使用IE浏览器的用户们就不喜欢了,那么要如何设置IE为默认浏览器呢,具体步骤如下。 1、首先从开始菜单或者打开“计算
一招搞定IE10设置!轻松锁定文档模式,告别Adobe Flash Player的兼容性困扰!
知识点 1.vue 只兼容ie8以上版本;2.IE 不兼容 axios的promise对象;3.IE 不兼容es6语法; 问题描述 工程使用的 vue2.X,而且
手机操作TP-LINK路由器,从此上网无忧!
用手机设置TP-LINK路由器的时候,怎么才能进入TP-LINK路由器的登录入口? 为什么我操作老是失败,总是进不去设置页面,是我的路由器坏掉了吗? 答:手机设置tplink路由器的时候,如果手机无法进入到tp
告别束缚:一键解除Flash中心的SWF限制,畅享无极限!
经常在找资源的时候发现很多资源都在度盘里,虽然稳定性有保证,但最头疼的问题就是:限速,且大点的文件还需要安装百度网盘客户端,一个网盘下载工具硬是给做到了300多MB,这绝对不能忍~ 之前找的PanDown被和谐了,一直没有发现
从零开始:掌握在Windows系统中部署LOCAL SOLVER并实现首个优化案例
文档系列【1】 Windows 操作系统安装Local Solver下面介绍了在计算机上安装和授权 LocalSolver 的主要步骤。 LocalSol
突破视觉强化学习训练的‘视觉’障碍,MJX带来高效方案
突破渲染瓶颈:MJX助力视觉强化学习的高效训练方案 在机器人控制与自动驾驶等领域,视觉强化学习(Visual Reinforcement Learning, VRL)需要通过大量图像数据训练智能体,但传统物理模拟器的渲染速度往
MuJoCo高手之路:从入门到精通的进阶指南
突破物理模拟极限:MuJoCo性能调优实战指南 物理模拟的速度与精度一直是机器人控制、强化学习等领域的核心挑战。当你需要训练1000个机械臂同时进行操作学习,或实时渲染复杂柔性物体碰撞时,MuJoCo的默认配置往往难以满足需求
Open-AutoGLM性能瓶颈大揭秘:破解编译三大障碍
第一章:Open-AutoGLM性能瓶颈的根源解析在大规模语言模型推理系统中,Open-AutoGLM作为自动化生成与优化框架,其性能表现直接影响任务响应效率与资源利用率。尽管具备动态调度与图优化能力,实际部署中仍频繁出现延迟
Excel宏数量爆炸,开机慢如乌龟?轻松破解攻略!
Excel 2003 今天下午,想琢磨以下Excel加载宏里的那些工具,把所有的宏都给选上了.这下可好,关掉Excel再打开,Excel就动静了,连续好几次都不行 开始还不知道是加载了过多宏的问题,还以为自
发表评论