第一篇:解决Selenium弹出新页面无法定位元素问题
解决Selenium弹出新页面无法定位元素问题
问题来源
一般来说,我们进行自动化登录,之后想直接进行对图书的续约操作,但是利用元素定位的方法,怎么都找不到元素,我一直以为是我的规则用的不对,导致元素找不到,其实,只是窗口句柄还停留在上一个页面而已!对于新弹出的页面还没有定位!!那怎么可能找得到在新页面的元素呢!这是新手(我)犯下最大的错误,只顾于对元素方法的定位,却没有意识到页面发生跳转后的handles的变化。
请看测试;#coding=utf-8
from selenium import webdriver import time
browser=webdriver.Firefox()
browser.get(“http:///body/div[3]/div[3]/div/div[3]/div[4]/h3/a”).click()#我这里修改了一下div[4],大哥的索引直接到有道翻译了,不利于下一步测试 time.sleep(1)
ok,这次能正常索引到值,但是!!我要说的是但是!!
这根本没有跳转页面!还是在同一个页面进行操作的!如果我把大哥的代码改成:
在我测试的时候,发生了奇怪的事情,同样的代码,有时候能跑有时候抛出错误,我已设定休眠时间,难道是我频繁访问导致百度封我?刚才上述的代码我都实际测试过的,但是现在又不能用了--wtf--,所以。我换了稳定的引擎,我采用bing搜索来试试,上面的全部作废,如果有人知道问题出在哪,请留言
7.19补充
应该是搜索引擎热点的问题,每次键入相同的值可能搜索结果首项会不一致的,百度可能更新热点比较快把,所以出现了我所谓不稳定的情况
正题测试
我和上述那位大哥不同的观点在于,他用的 sreach_window=browser.current_window_handle
方法并不能实现对新窗口句柄的捕捉,我以bing主页为测试页,重新构造了一下,#coding=utf-8 from selenium import webdriver import time
browser=webdriver.Firefox()browser.get(“http://cn.bing.com/”)keywords = 'MrLevo520 CSDN' send_keywords=keywords.decode('utf-8')#中英混输入可防止乱码
browser.find_element_by_id(“sb_form_q”).send_keys(send_keywords)
time.sleep(1)#----------操作一:进行对关键字MrLevo520 CSDN搜索----------------browser.find_element_by_id(“sb_form_go”).click()#执行此操作会进行搜索,但是没有弹出新窗口,所以句柄不用重定位 time.sleep(3)#----------操作二:对搜索页面“我的CSDN”进行点击操作--------------browser.find_element_by_xpath(“/html/body/div/ol/li/h2/a”).click()#进行当前页面点击第一项
#--------操作三:对新弹出的页面再点击“贡献的资源”选项-----sreach_window=browser.current_window_handle browser.find_element_by_xpath(“/html/body/div[3]/div[2]/div[2]/div/a[3]”).click()
time.sleep(5)
浏览器运行结果只到如图:
而且抛出错误:
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {“method”:“xpath”,“selector”:“/html/body/div[3]/div[2]/div[2]/div/a[3]”}
可见,此语句并没有实现句柄重定位的功能,然后我再试试下面的方法,所有语句不变,只改变获取当前句柄的语句,改成
browser.switch_to_window(browser.window_handles[1])
最后程序应该是这样:
#coding=utf-8 from selenium import webdriver import time
browser=webdriver.Firefox()browser.get(“http://cn.bing.com/”)keywords = 'MrLevo520 CSDN' send_keywords=keywords.decode('utf-8')#中英混输入可防止乱码
browser.find_element_by_id(“sb_form_q”).send_keys(send_keywords)time.sleep(1)#----------操作一:进行对关键字MrLevo520 CSDN搜索----------------browser.find_element_by_id(“sb_form_go”).click()#执行此操作会进行搜索,但是没有弹出新窗口,所以句柄不用重定位 time.sleep(3)#----------操作二:对搜索页面“我的CSDN”进行点击操作--------------browser.find_element_by_xpath(“/html/body/div/ol/li/h2/a”).click()#进行当前页面点击第一项
#--------操作三:对新弹出的页面再点击“贡献的资源”选项-----browser.switch_to_window(browser.window_handles[1])browser.find_element_by_xpath(“/html/body/div[3]/div[2]/div[2]/div/a[3]”).click()
time.sleep(5)
最后结果,按照我的思路,进行了相应的点击,最后如图
所以从上述的例子上来说,语句sreach_window=browser.current_window_handle并没有实现重定位,可能我才疏学浅,但至少,在上述的那位大哥的博客中,写的是错误的,运行失败,我对2016.7.16的所有数据负责,实际测试失败。
7.17-补充:另一种获取句柄方法
还有另一种方法,就是直接定位当前最新弹出的窗口。代码是这样的 for handle in browser.window_handles:#方法二,始终获得当前最后的窗口,所以多要多次使用
browser.switch_to_window(handle)
那么结合到我的代码中那就是这样的:
#Author:哈士奇说喵
#因为搜索引擎检索项根据热度来排名,所以我只能对7.17的数据进行测试和负责,大家测试时候注意元素变化 #coding=utf-8 from selenium import webdriver import time
browser=webdriver.Firefox()browser.get(“http://cn.bing.com/”)keywords = 'MrLevo520 CSDN' send_keywords=keywords.decode('utf-8')#中英混输入可防止乱码
browser.find_element_by_id(“sb_form_q”).send_keys(send_keywords)
time.sleep(1)#----------操作一:进行对关键字MrLevo520 CSDN搜索----------------browser.find_element_by_id(“sb_form_go”).click()#执行此操作会进行搜索,但是没有弹出新窗口,所以句柄不用重定位 time.sleep(3)#----------操作二:对搜索页面第一项进行点击操作--------------browser.find_element_by_xpath(“/html/body/div/ol/li/h2/a”).click()#进行当前页面点击第一项
#--------操作三:对新弹出的页面再点击“我的头像”选项-----#注意此时已经是弹出的第一个窗口了,需要重新定位句柄
'''browser.switch_to_window(browser.window_handles[1])#方法一''' for handle in browser.window_handles:#方法二,始终获得当前最后的窗口 browser.switch_to_window(handle)
browser.find_element_by_xpath(“//div[@id='body']/div[2]/div/div/ul[2]/div/a”).click()
#------------------操作四:点击“贡献的资源”-------------------#注意此时已经是新弹出的第二个窗口了,需要重新定位句柄
browser.switch_to_window(browser.window_handles[2])#方法一,注意window_handles[2]变成了2 '''for handle in browser.window_handles:#方法二,始终获得当前最后的窗口 browser.switch_to_window(handle)'''
browser.find_element_by_xpath(“/html/body/div[3]/div[2]/div[2]/div/a[3]”).click()
time.sleep(5)
上面的代码,我要说几点,总共实现完成会存在三个浏览器窗口,也就是相当于实现了两次句柄重定位功能,也就是下面的图片,对bing搜索“MrLevo520 CSDN”跳出的最热项,也就是这一篇(感谢大家厚爱),但是昨天最热弹出来的是直接是我的主页,大家从上面的动图应该也可以看出来,所以等你测试这段代码的时候,可能最热项目又变化了,道理大家懂就ok,不影响重抓句柄代码。
代码实现了从1,到2,点击头像后,再跳转到3主页,之后再点击“贡献资源”,实现的动图如下:
Pay Attention
1.搜索引擎根据热度来排名,也就是代码具有“不稳定性”,应该根据自己实际情况,定位不同元素,我只对当前编辑时间的数据负责
2.在实际操作过程中,会产生第一个页面还没等第二个页面缓冲完,直接又“占领”主视觉的问题,别担心,句柄还是在传递的,程序一直在跑,而且没有出错,过一会时间就会更新加载页面的,如果想要关闭无关页面,请看这篇博客 基于Selenium一键写CSDN博客
3.可能我的代码第一次获取句柄和第二次获取句柄不一样的方法,这是为了展示,你可以两次句柄获取都用方法二,也可以都是用方法一,但是方法一注意修改标号。
方法一 VS 方法二
相比较于方法二,方法一的优点在于后续操作,比如关闭第几个窗口,句柄传递是按照顺序来的。缺点在于对于较多新页面,有时候弹出窗口太多会变得难以计算。
而方法二,一直在获取最后的窗口,如果你只是对最后的窗口进行操作,也就是(自己定义的)”前向“操作时,不计后果,可以直接拿来用,而且代码不变。缺点在于,如果要返回到某个窗口句柄,那就显得没有方法一来的好,至少我现在是这么认为的,可能以后我会回来修改。
总结
我姑且认为这句语句,单独作用于上述博客中是不可行的。
所以我在后续的博客中对窗口重定向语句改成了browser.switch_to_window(browser.window_handles[1]),至少在我的实验中,这句语句实现了我需要的操作。
最后上张动图表示流程:
最后
将待解决实际问题解决,方法总是好多种,就看自己想不想解决。
第二篇:格式化u盘弹出无法完成格式化提示的解决妙招
格式化u盘弹出“无法完成格式化”提示的解决妙招
来源:U大侠
不知道你在格式化u盘的时候,是否遭遇过这种情况:u盘还没格式化完毕,就弹出一个“windows无法完成格式化”的提示框,如果对于电脑又不是很懂的话,是不是觉得很困扰呢?U大侠小编帮你解决这一小问题。
如上图所示就是小编在格式化u盘时弹出的提示窗口,一般情况下出现这一问题是由于u盘随意拔插、u盘中毒、u盘被其他应用程序占用等情况所导致的,下面就教大家如何解决问题。
将u盘插入到电脑的usb插口,利用360等软件对u盘进行一次检查,如有中病毒则先对u盘进行杀毒。在确认u盘没有重病毒的情况下电脑屏幕左下方的windows按钮,在上方键入cmd并按回车键确认即可弹出如下图所示的dos窗口。
随后在dos窗口下输入“format X: /fs:fat32”指令,X指的是我们插入u盘时系统所指认给u盘的盘符,输入完毕之后按下回车键即可开始。如下图所示的格式化操作,在格式化开始时需要我们再次确认驱动器是否正确,我们根据提示按下键盘上的回车键即可。
格式化的过程需要5-10才可以完成,在格式化完成时还需要再次按下回车键继续后续的工作,届时需要注意屏幕上的提示进行操作。
在此,小编提示大家u盘在使用时不能在u盘进行读写的过程中将u盘拔出来,虽然u盘支持热拔插功能,但长期如此操作可能会导致u盘中的数据丢失,也会影响u盘的使用寿命。
u盘现已成为办公室上班族不可缺少的工具了,它可以帮助我们存储一些重要的数据及上班所需要的文件,由于它的体积小,方便携带,因此,上班族的朋友都会自备一个u盘。但是使用u盘过程,不可避免会出现各式各样的问题,不用担心,多看看u大侠常见问题教程,会一一为你解忧!
第三篇:解决下载的PPT无法打开、需要修复的问题
在网上(百度文库)下载了PPT后,打开时提示如图所示的“下载的内容有问题,需要修复”的对话框,而点击“修复”后仍然无法打开。使用修复软件也无济于事。这个问题困扰了许多人,下面就告诉大家怎么解决这个问题。
方法/步骤
在下载的PPT上单击“右键”-“属性”,在下方找到“解除锁定”(如图所示)。
单击“解除锁定”后,变为灰色,单击“确定”。这样,PPT就能打开了。终极解决法1 打开一个ppt点击“文件”里面的“选项”
1.继续找到:信任中心-信任中心设置-受保护的视图,如图
2.3 在弹出的窗口中,把右侧“受保护视图”下的三个勾选项取消即可。
终极解决法2 1.打开IE浏览器,点工具菜单,点Internet选项,然后选择“高级”选项卡。
2.找到“检查下载的程序的签名”,取消它的勾然后确认就可以了。
第四篇:解决远程桌面无法连接的问题-总结的精华
解决远程桌面无法连接的问题-总结的精华
远程桌面连接组件是从Windows 2000 Server开始由微软公司提供的,WINDOWS 2000 SERVER中他不是默认安装的。该组件一经推出受到了很多用户的拥护和喜好,所以在WINDOWS XP和2003中微软公司将该组件的启用方法进行了改革,通过简单的勾选就可以完成在XP和2003下远程桌面连接功能的开启。
当某台计算机开启了远程桌面连接功能后我们就可以在网络的另一端控制这台计算机了,通过远程桌面功能我们可以实时的操作这台计算机,在上面安装软件,运行程序,所有的一切都好像是直接在该计算机上操作一样。这就是远程桌面的最大功能,通过该功能网络管理 远程桌面连接员可以在家中安全的控制单位的服务器,而且由于该功能是系统内置的所以比其他第三方远程控制工具使用更方便更灵活。
上面我们对这个工具介绍完毕了,我们还是言归正传谈谈远程桌面在使用过程中的遇到的一些问题吧。
1、中断远程桌面连接客户端无法建立跟远程计算机的连接。导致这个错误的可能的原因是: 1)远程计算机上的远程连接可能没有启用。2)已超出远程计算机上的连接最大数。3)建立连接时出现了一个网络错误 具体的解决办法:
有时候是这个错误提示:由于网络错误,连接被中断,请重新连接到远程计算机;远程连接我肯定是开启了的,防火墙里面3389端口也是打开的,并且连接其他的服务器就可以连接上,说明我本机没问题,用扫描软件,扫描了一下这个服务器,显示IP和端口都是存在的,说明这个服务器网络也没问题,实在没办法,只有不断的测试,后来在系统日志里面看到很多条系统错误信息。其中:严重错误“RDP 协议组件 “DATA ENCRYPTION” 在协议流中发现一个错误并且中断了客户端连接。”几经周折得知这是因为Certificate子键负责终端服务通信中数据信息的认证和加密,它一旦被损坏,终端服务的协议组件就会检测到错误,中断客户机与终端服务器之间的通信。导致Certificate子键损坏的原因很多,如管理员安装和卸载某些系统软件、对终端服务参数的不合理配置等。这时我们需要重置该键值中的内容,才能修复终端服务。
进入注册表编辑器窗口,展开“HKEY_LOCAL_MA CHINE SYSTEMCurrentCon trolSetServicesTermService Parame ters”,找到名为 “Cer tificate”的子键,将它删除,重新启动XP系统或Windows 2000 Server服务器,系统就会重新生成“ Certificate”子键,这样客户端就能正常连接到终端服务器了。
在终端服务器出现无法连接的问题后,我们首先要判断这是不是网络故障引起的,检测远程客户端和XP系统(Windows 2000 Server服务器)是否能够正常连接到网络;然后就要检查终端服务器的加密级别是否设置过高。排除上述原因后,就有可能是“Certificate”子键损坏了。此外,“HKEY_LOCAL _MACHINE SYSTEMCur rentControlSetServicesTerm ServiceParameters”下的 “X509 Certificate”和“X509 Certificate ID”损坏了也有可能导致终端服务出现问题,它们的修复方法与“Certificate”子键损坏后的修复方法相同。
2、提示“本地计算机客户端访问许可不能升级或更新”的解决方法
1)打开被控机的注册表编辑器,定位到HKLMSOFTWAREMicrosoftMSLicensing。2)备份MSLicensing键。
3)删除MSLicensing键,重启系统。
3、提示“远程计算机已结束连接”
1)打开被控机的注册表编辑器,定位到HKLMSYSTEMControlSet001EnumRootRDPDR,备份该项;右键单击该项,选择“权限”,为当前登录的用户增添“完全控制”的权限。2)新建key文件,将以下内容写入,双击导入注册表后重启计算机即可。Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESYSTEMControlSet001EnumRootRDPDR 000] “ClassGUID”=“{4D36E97D-E325-11CE-BFC1-08002BE10318}” “Class”=“System” “HardwareID”=hex(7):52,00,4f,00,4f,00,54,00,5c,00,52,00,44,00,50,00,44,00,52, 00,00,00,00,00 “Driver”=“{4D36E97D-E325-11CE-BFC1-08002BE10318} 030” “Mfg”=“(标准系统设备)” “Service”=“rdpdr” “DeviceDesc”=“终端服务器设备重定向器” “ConfigFlags”=dword:00000000 “Capabilities”=dword:00000000
4、提示“客户端无法连接到远程计算机”。
1)远程计算机不可到达(ping不通或者被防火墙拦截)2)服务器没有开启3389端口(系统属性里“远程”页面里的“远程桌面”未打勾或没有使用有远程登陆权限的用户即可)
3)terminal services 服务未启动,启动此服务即可,另外还有两个RDP服务也别忘记哦 4)检查远程桌面是不是被更改了端口,步骤:打开“开始→运行”,输入“regedit”,打开注册表,进入以下路径:[HKEY_LOCAL_MACHINESYSTEM CurrentControlSetControlTerminal ServerWdsrdpwdTdstcp],看见PortNamber值了吗?其默认值是3389如果不对请改回来。
Domino多分区服务在PC服务器上的安装与配置
IBM旗下的Lotus/Domino系列软件广泛应用于企业与政府机构的流程类应用软件系统,特别是在办公自动化系统领域应用最为广泛,IBM在其推出的“莲花宝箱”——AS400系统中集成了多分区功能,Domino的分区功能,能够使AS/400看起来就象同时拥有许多Domino服务器。所有Domino应用程序都可以共享相同的资源:处理器。内存、磁盘、软件、安全性、备份磁带、网络资源以及 — 最重要的是 — 系统管理员。共享这些资源极大地减少了管理和维护的成本。并且提高了网络的利用率,减少服务器的一次性投资,降低管理和维护的费用。使总拥有成本保持在较低水平。但AS400系统一套价格不菲,其实在PC服务器上也可以实现多分区Domino,Domino 服务器分区允许在一台服务器上最多运行6个 Domino 服务。使用分区服务器将减少硬件费用并将所需管理的计算机数量减至最少。
(1)Domino多分区的运行环境
多分区Domino服务对系统硬件要求较高,以笔者所在单位实践经验来看,我们推荐至少如下配置的服务器:
l CPU为主频在2GHZ以上的Intel至强处理器
l Microsoft Windows 2000 Server或Microsoft Windows 2000 Advance Server l 最小内存 512MB RAM;第一个服务器最低配置使用 512MB RAM,每增加一个 Domino 分区服务器应至少加 256MB RAM。l 至少 36GB 的硬盘可用空间;第一个服务器最低配置使用 36GB 硬盘空间,每增加一个 Domino 分区服务器应至少加 18GB空间。(2)Domino多分区安装
安装并设置分区服务器与安装并设置单个服务器是相似的。在 Windows 2000 Server上安装第二个及后继 Domino 分区服务器。最多可以在一台计算机上安装六个 Domino 分区服务器。
在安装Domino服务器时,确认选择了“分区服务器安装”。计算机上的所有分区服务器共享同一Domino 程序目录,但每个分区都有自己的 Domino 数据目录。共享目录默认为X:LotusDomino,建议使用分区服务器的名字作为其数据目录名。例如,如果第一个分区服务器名为“01”,则可以将其数据目录名取为 X:LotusDomino 1。对于每一个安装的其他 Domino 分区服务器,都应该遵循相同的步骤进行。完成安装后,进入配置阶段。(3)Domino多分区的配置
有两种方法在计算机上配置分区服务器。可以为所有的分区服务器指定同一个 IP 地址然后使用端口映射,或者为每个分区服务器指定独立的 IP 地址。① 所有分区服务器使用同一个 IP 地址
如果可用的 IP 地址数有限,那么可以让计算机上所有分区服务器使用同一个 IP 地址。然后设置端口映射,并为每个分区服务器指定其自己的端口。设置端口映射后,需要指定一个分区服务器作为端口映射服务器。它会重定向 Notes 和 Domino 连接请求至计算机上的其他分区服务器。
使用单一的 IP 地址有一些缺点。第一,如果端口映射服务器不运行,则客户机一般不能与任何分区服务器建立新的连接。第二,计算机上的所有分区服务器必须位于同一个 IP 网络。第三,由于所有分区服务器共享同一个网络接口卡(NIC),所以计算机的输入和输出(I/O)可能会变慢。由于这种方法有明显的缺点,我们不推荐这种方法。
② 每个分区服务器使用独立的 IP 地址 如果有足够的 IP 地址,那么为每个分区服务器指定独立的 IP 地址,并对每个分区服务器使用独立的网络接口卡(NIC)。这样允许客户机直接访问每个分区服务器,而不必通过端口映射服务器进行访问。尽管可以为不同的 IP 地址使用同一个网络接口卡(NIC),但最好不要这样做,因为这会给计算机的输入/输出(I/O)带来负面影响。
使用独立的 IP 地址有几个优点。第一,分区服务器不依赖于端口映射服务器。这样,由于用户不再依赖于端口服务器的运行,所以可以访问所有的分区服务器。第二,分区服务器可以位于不同的 IP 网络。第三,可以为每个分区服务器使用独立的网络接口卡(NIC),这就可以加快计算机的输入/输出(I/O)速度。配置系统IP地址,使用 Windows 2000“控制面板”中的“网络”图标完成配置。(3)为分区服务器指定独立的 IP 地址
① 从可用的 IP 地址中,为每个分区服务器指定一个。
用于 Notes 和 Domino 之间通讯的分区服务器 在 NOTES.INI 文件中输入 TCPIP_TcpIpAddress=0,IPaddress:1352其中 TCPIP 是端口名,IPaddress 是指定分区服务器的 IP 地址。样例:TCPIP_TcpIpAddress=0, 10.232.96.145:1352 ②为每个分区服务器指定需要的 IP 地址和任务。
如Domino运行了WEB服务或POP3等服务,多分区Domino需要为每个分区服务器指定IP地址和任务。
Web 服务器 在“服务器”文档的“Internet 协议”HTTP 附签上的“主机名”域中输入主机名称或 IP 地址。然后在“联编到主机名”域中选择“启用”。POP3 服务 在 NOTES.INI 文件中输入 POP3Address=hostname其中 hostname 是服务器的 IP 地址或完全限定的网络域名称。
IMAP 服务 在 NOTES.INI 文件中输入 IMAPAddress=hostname其中 hostname 是服务器的 IP 地址或完全限定的网络域名称。NNTP 服务 在 NOTES.INI 文件中输入 NNTPAddress=hostname其中 hostname 是服务器的 IP 地址或完全限定的网络域名称。
LDAP 服务器 在 NOTES.INI 文件中输入 LDAPAddress=hostname其中 hostname 是服务器的 IP 地址或完全限定的网络域名称。(4)设置DNS解析
服务器需在本地的HOST文档中加入对服务器名与对应IP地址的解析,在网络中的DNS服务器上,也必须设置相应服务器名与IP地址的对应解析,这样客户端才可以正常连接上各自的分区服务器。
笔者所在单位为电力系统企业,在一台配置为2.8G XEON/1G内存/146G硬盘的DELL服务器上安装6个Domino R5版本的服务端,并运行了6个单位的OA电子公文,邮件等应用系统。系统运行稳定,客户端响应速度也令人满意。所有6个单位的OA系统使用同一台服务器和网络资源,并只有一名管理员管理所有的系统,该系统总拥有成本和运行成本保持在较低水平。
第五篇:如何解决在word2003和2007中无法插入页码的问题
如何解决在word2003和2007中无法插入页码的问题
希望能对你有点作用。先是2007后面是2003的
我们在一篇word2007中经常遇到前面几页要设计 封面 或生成目录而不需要页码或后面的页码不接着前面的页码连续排的问题,我经过努力摸索出一种方法。现把它写出来供大家参考。如第一页不需要页码而第二页页码从“1”开始,做法如下:
1、在要显示页码“1”的页面中最前面定位光标,然后点击菜单中“页面布局”选项;(如图1)
图1
2、点击“ 分隔符 ”选项,弹出如图2所示对话框;
图2
3、点击图2中的“下一页”选项,在文档中便插入了新的一页,这一页在刚才光标所在页的前面;
4、选择“插入”菜单中的插入页码选项,任意选择一种格式;(如图3)
图3
5、插入页码后,双击页码将其激活,并点击“链接到前一条页眉”选项,可得到如图4和图5所示的情况,大家可以比较一下它们的区别。这时你可以任意设置页码了。
图4
图5 我们在使用Word2003时,经常要根据实际情况来编排页码,那么只要掌握了下面列出的几种常见页码的编排方法,就可以做到word页码随意定:
一、页码从第二页开始
1、选择“插入-页码”,打开“页码”对话框。
2、取消“首页显示页码”复选框中的对钩,然后单击“格式”按钮,打开“页码格式”对话框。
3、“起始页码”后的框中键入数字“0”。
4、按“确定”退出。
二、页码从任意页开始
1、将光标定位于需要开始编页码的页首位置。
2、选择“插入-分隔符”,打开“分隔符”对话框,在“分隔符类型”下单击选中“下一页”单选钮。(将文档分节,以便以节为单位进行单独设置页码。状态栏有显示节数)
3、选择“视图-页眉和页脚”,并将光标定位于页脚处。
4、在“页眉和页脚”工具栏中依次进行以下操作:
①单击“链接到前一个”按钮,断开同前一节的链接。(这样去掉了右上角的“与上一节相同”几个字,使这一节可以单独设置页码)
②单击“插入页码”按钮,再单击“页码格式”按钮,打开“页码格式”对话框。③在“起始页码”后的框中键入相应起始数字。④单击“关闭”按钮。
三、页码不连续
如“目录”与“正文”的页码均需单独排,可按以下步骤操作:
1、将光标定位于需要开始重新编页码的页首位置。
2、选择“插入-分隔符”,打开“分隔符”对话框,在“分隔符类型”下单击以选中“下一页”复选钮。
3、选择“插入—页码”,打开“页码”对话框。单击“格式”按钮,打开“页码格式”对话框。
4、“起始页码”后的框中键入数字“1”
5、按“确定”退出。
四、页码每栏显示` 文档分栏后,按常规插入页码,只能实现一页一个页码。如何实现每个分栏一个单独的页码呢?可以利用域的功能实现:
1、选择“视图-页眉和页脚”,并将光标定位于页脚处的左栏放页码的位置。
2、同时按下Ctrl+F9功能键,光标位置会出现一个带有阴影的“{ }”,这就是域的标志。
3、在“{ }”内输入“=”后,再同时按下Ctrl+F9功能键,在这次出现的花括号内输入“page”(表示插入“当前页”域代码)。
4、将光标移到内部一对花括号之后,输入“*2-1”,此时,在页脚处得到这样一行域代码:“{={page}*2-1}}”。
5、将光标停留在这个域代码上,按右键选择“更新域”,即可看到当前页左栏的页码。
6、选中刚刚输入的域代码,进行复制,并粘贴在页脚处右栏放页码的位置。
7、选中刚刚粘贴上去的域,按右键选择“切换域代码”,将域代码“{={page}*2-1}}”改为“{={page}*2}}”, 按右键选择“更新域”即可。
故障表现:
1、点击页眉/页脚之后,仅出现编辑页眉/编辑页脚和删除页眉/删除页脚,而没有出现样式预览。
2、不能插入页码。点击页码--页面顶端/页面底端后,仅出现将所选内容另存为页码(顶端)/将所选内容另存为页码(底端),而且是灰色的。根本无法添加页码。
如果你是全新安装,则不会出现这个问题。安装之前卸载旧版本是不行的,仍会出现此问题。不过好像不卸载旧版本,也根本没办法安装新版本。
分析原因:
模板文件不正确。
解决方案:
删除错误的模板文件。
你可以这样做: 那么请打
开
C:Documents and Settings
登
录
帐
户
名Application DataMicrosoftDocument Building Blocks2052的目录,进入该目录,把该目录下的Building Blocks.dotx文件删除掉。如果是其它语言的,请进入相应的目录把该文件删除掉。最简单的方法就是搜索该目录下所有的Building Blocks.dotx文件,全部删除。
正确的副本位于在C:Program FilesMicrosoft OfficeOffice12Document Parts2052文件夹中(假设Office是安装在C盘中的默认路径,而且是简体中文版)。
打开word选项加载项,在“管理”项中选择“模板”项后,在点击“转到...”-“添加”,添加C:Program FilesMicrosoft OfficeOffice12Document Parts2052Building Blocks.dotx文件。
制作封面、扉页和目录——Word 2007书籍排版完全手册
(九)一本书籍不能没有封面,也不能没有扉页,目录更是必不可少的重要内容。当在书籍文档中正确应用了标题样式、正文样式等之后,就可以非常方便地应用Word2007自动创建目录的功能来制作出书籍目录了。
1.制作封面和扉页
在“ 插入” 功能区的“ 页” 选项区中单击“ 封面” 按钮,在下拉列表中出现15 种封面的版式结构,选择一种即可自动在第一页前插入这种封面,如图28 所示。对封面图案、标题、作者等元素都可以进行缩放、修改、删除、添加等操作,直到满意为止。
图28
将插入点设置到文档首部,单击“ 插入” 功能区“ 页” 选项区的“ 空白页” 按钮,单击一次插入一张空白页,以此类推。这里不妨多插入几页,为后面制作目录作个准备。这时就可在封面后的第一页输入扉页的内容,如书名、作者、出书日 期等。在扉页之后就应该输入或前言、或内容简介、或编者按、或序言之类的文字了。当然不能忘记设置这些文本的格式和版式。
2.自动生成目录
① 将插入点定位到要插入书籍目录的位置,一般是在前言或编者按之类的后面,正文的前面。
② 在“ 引用” 功能区的“ 目录” 选项区单击“ 目录” 选项,打开“ 目录” 对话框,如图29 所示。
图29
③ 在“ 格式” 下拉列表框中选择一种目录格式,在“ 打印预览” 框中将出现此种格式的预览效果。选择“ 制表符前导符” 下拉列表的某一选项,为目录指定一种前导符格式。Word 2007 默认的目录显示级别为3 级,如果需要改变设置,在“ 显示级别” 框中键入相应级别数字即可。“ 显示页码” 和“ 页码右对齐” 复选框一般要选择。
④ 设置完成后,单击“ 确定” 按钮结束。
这样,Word 就会根据上述设置自动创建书籍目录并插入到文档指定位置。如果书籍内容在编制目录后发生了变化,也可以方便地对目录进行更新。方法是在目录上右击鼠标,从 弹出的快捷菜单中执行“ 更新域” 命令,从“ 更新域” 对话框中选择“ 更新整个目录” 或“ 只更新页码” 单选按钮,单击“ 确定” 按钮完成对目录的更新。另外也可以选定目录任意部分后,按“ F9 ” 来更新目录。
首先,要把各个标题的大纲级别改掉。比如是一级标题的,选中,然后右键--段落,大纲级别选“1级”(所有的一级标题都这样弄一次)。然后二级标题的,同样,把大
纲级别改成“2级”。
弄完后就可以自动生成目录了,点引用--目录--插入目录,(注意,选择“显示级别”,就是你自己选让目录显示前几级),确定,就行了。
从第三页开始插页码,要在第三页前面插入“分节符”(是分节符,不是分页符)。具体操作是,页面布局--分隔符--分节符(下一页)。
然后再插入页码,注意插页码的时候,有一个“链接到前一节页眉”,这个要去掉即不选。如果页码不是从1开始的,要点页码--设置页码格式,选起始页码,填1。
(以上适用于word2007版)