首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

21.9 Python 使用Selenium库

Selenium是一个自动化测试框架,主要用于Web应用程序的自动化测试。它可以模拟用户在浏览器中的操作,如打开网页、点击链接、填写表单等,并且可以在代码中实现条件判断、异常处理等功能。...该工具在使用时需要安装两个模块,首先读者需要自行安装selenium包,并且需下载与对应浏览器匹配的驱动程序。...,并通过get()函数让浏览器打开一个页面,最后通过xpath语法定位到//*[@id="s-top-left"]/a[4]标签(贴吧)上,并点击鼠标左键,打开页面后并输出所有窗体,如下图所示;图片21.9.2...切换窗体句柄如上代码执行后虽然打开了百度百科,但是窗体的句柄其实还是停留在了百度首页上,定位的元素还是在百度上,此时我们就需要切换窗体句柄,也就是将当前句柄切换到百度贴吧页面上,此时才可读取该页面的完整源代码信息...driver.page_source) print(url_source) input("输入回车结束") driver.quit()运行后读者可自行查询当前句柄所在位置,如下图所示;图片21.9.3 前进后退刷新在控制页面是我们可能需要使用页面前进后退与刷新功能

27330

Django框架开发002期 Python编程利用PyCharm专业版和社区版开发网站

1.4.3使用pycharm专业版配置Django服务器 在PyCharm开发环境中,点击界面右上角的add configuration...后,进入Django服务器配置界面。...在弹出的配置窗体中,选择django server。 修改配置名称跟项目相同名字。 最后,点击运行按钮。 运行后,会在开发环境的下面出现一些启动提示信息。...第三步:配置django server。 点击pycharm右上角的配置按钮。 在弹出窗口中,先点击“+”选择python。 开始配置django服务器运行的文件。...配置好后,先选择项目运行配置文件【本文是ljyweb】,再点击运行按钮,即可运行django server。 运行后,在pycharm的下方会有一个窗体显示运行日志。...点击蓝色的http://127.0.0.1:8000/就可以在浏览器中弹出网站首页。

94840
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JavaScript——location对象

    window对象给我们提供了一个location属性用于获取或设置窗体的URL,并且可以用于解析URL,因为这个属性返回的是一个对象,所以我们将这个属性也称为location对象。...互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。 URL的一般语法格式为: protocol://host[:port]/path/[?...= 'http://www.yuezeyi.com'; } else { div.innerHTML = '您将在' + timer + '秒钟后跳转到首页...location对象方法 返回值 location.assign() 跟href一样,可以跳转页面(也称为重定向页面) location.replace() 替换当前页面,因为不记录历史,所以不能后退页面...location.reload() 重新加载页面,相当于刷新按钮或者F5如果参数为true强制刷新(ctrl+F5) 点击 <script

    52130

    Ajax与jQuery异步加载数据

    将展示Ajax数据 (document).ready(function(){})指页面其他元素加载完成后开始加载Ajax数据,此时,浏览器不会有加载条和转圈的情况出现。...,它可能破坏浏览器的后退与加入收藏书签功能。...在动态更新页面的情况下,用户无法回到前一个页面状态,这是因为浏览器仅能记下历史记录中的静态页面。...一个被完整读入的页面与一个已经被动态修改过的页面之间的可能差别非常微妙;用户通常都希望单击后退按钮,就能够取消他们的前一次操作,但是在Ajax应用程序中,却无法这样做。...不过开发者已想出了种种办法来解决这个问题,HTML5之前的方法大多是在用户单击后退按钮访问历史记录时,通过创建或使用一个隐藏的IFRAME来重现页面上的变更。

    10.9K20

    JSP 防止网页刷新重复提交数据

    网页如何防止刷新重复提交与如何防止后退的解决方法 提交后禁用提交按钮(大部分人都是这样做的) 如果客户提交后,按F5刷新怎么办?...或者“怎样才能防止用户点击后退按钮返回以前浏览过的页面?” 遗憾的是,我们无法禁用浏览器的后退按钮。...一、概述      曾经有许多人问起,“怎样才能‘禁用’浏览器的后退按钮?”,或者“怎样才能防止用户点击后退按钮返回以前浏览过的页面?”在ASP论坛上,这个问题也是问得最多的问题之一。...遗憾的是,答案非常简单:我们无法禁用浏览器的后退按钮。         起先我对于居然有人想要禁用浏览器的后退按钮感到不可思议。...后来,看到竟然有那么多的人想要禁用这个后退按钮,我也就释然(想要禁用的只有后退按钮,不包括浏览器的前进按钮)。因为在默认情况下,用户提交表单之后可以通过后退按钮返回表单页面(而不是使用“编辑”按钮!)

    11.6K20

    JavaScript BOM学习

    (HTML DOM也会随后整理发表) 笔者在接触Js之前就听闻Js的“牛逼”,接触后发现只要想法够贼,Js就能给你的贼想法复现 ~ 作者主页:https://www.cnblogs.com/wangyuyang1016...window对象是BOM的顶层,所有其他对象都是通过window对象衍生的;但是在调用子对象的时候并不强制要求声明 ?...URL中表示变量的字符子串 location.reload(true/false) 刷新页面(true/false选择是否从服务器刷新) location.replace(url) 通过url网址刷新当前网页...历史对象:history 历史对象保存着用户上网的历史记录 属性方法 特性 history.back() 显示浏览器的历史列表中后退一个网址的网页 history.forward() 显示浏览器的历史列表中前进一个网址的网页...history.go(n)/go(url) 显示浏览器的历史列表中的第n个网址网页,大于0表示前进,小于0表示后退,等于0表示刷新当前页

    90520

    实现一个前端路由,如何实现浏览器的前进与后退 ?

    需求 如果要你实现一个前端路由,应该如何实现浏览器的前进与后退 ? 2. 问题 首先浏览器中主要有这几个限制,让前端不能随意的操作浏览器的浏览纪录: •没有提供监听前进后退的事件。...•用户可以手动输入地址,或使用浏览器提供的前进后退来改变 url。 所以要实现一个自定义路由,解决方案是自己维护一份路由历史的记录,从而区分 前进、刷新、回退。 下面介绍具体的方法。 3....•url 不存在于浏览记录中即为前进,前进时,往数组里面 push 当前的路由。•url 在浏览记录的末端即为刷新,刷新时,不对路由数组做任何操作。...注意:这个浏览记录需要存储在 sessionStorage 中,这样用户刷新后浏览记录也可以恢复。...当你通过浏览器的后退按钮,从页面 c 后退到页面 a 之后,我们就依次把 c 和 b 从栈 X 中弹出,并且依次放入到栈 Y。这个时候,两个栈的数据就是这个样子: ?

    1.6K30

    Excel实战技巧66:创建向导样式的数据输入窗体5

    初始化应用程序 在HRWizard用户窗体的Initialize事件中,将初始化自定义的对象并添加代码来设置向导、列表和显示用户窗体。...初始化用户窗体 在设置应用程序中的最后一步是初始化用户窗体自身。...此时,可以运行该用户窗体。 1.在VBE中,双击工程资源管理器窗口的用户窗体。 2.单击标准工具栏中的“运行子过程/用户窗体”按钮或者按F5键,如下图24所示。 ?...给用户窗体添加导航 导航按钮要在向导应用程序中完成移动步骤的任务,但它们也需要具备放置每个界面中的数据到其在用户窗体的cPerson对象里的位置的能力。...1.在设计视图下打开用户窗体,单击标准工具栏中的“运行子程序/用户窗体”按钮或按F5键。 2.启动用户窗体后,单击下一步按钮移动到向导中的第二步(已在配置工作表中定义),应该是Address界面。

    1.7K20

    Selenium3 + Python3自

    控制浏览器操作 控制浏览器窗口大小 在测试过程中,我们在打开浏览器后,根据需求可自定义调整浏览器的尺寸大小。WebDriver提供了set_window_size()方法来设置浏览器的大小。...如果页面没有最大化,可以调用driver.maximize_window()将浏览器最大化,相当于点击了页面右上角的最大化按钮,maximize_window()方法不需要参数。...值得注意的是,在定位元素的时候,有些网页如果不是全屏展示时,将有可能定位不准!!!...、后退 在当前页面打开一个新的链接后,如果想回退到前一个页面,使用如下driver.back(),相当于点击了浏览器的后退按钮 和back操作对应的是浏览器前进操作driver.forward(),相当于点击了浏览器的前进按钮...网页上显示的信息可能不是最新的,需要对页面进行刷新,使用refresh()方法刷新页面,相当于点击浏览器的刷新按钮。

    52810

    Ajax之一 简介篇

    在第一次请求某个使用了Asp.Net AJAX的页面时(图1-7的一步和第二步),Asp.Net AJAX客户端框架(图1-7客户端组件中最下面的那一层)就会从服务器发送到浏览器上。...页面图1-8所示: 点击按钮页面上的按钮后会显示当前计算机日期和时间 按钮的代码如下: this.Label1.Text=DateTime.Now.ToString(); 在单击按钮之前,页面的代码如程序清单...终端用户单击页面上的按钮时,会执行服务器回传的完整过程,重新处理整个页面,并返回给客户的浏览器。...在运行程序后,查看页面源码,会看到元素会被下面的代码替换掉(那些URL在系统中可能会有所不同)。...运行效果:如果单击Button1,进行整个页面的会送,就会在响应中得到这些代码,后退按钮会变绿;如果单击Button2,则会部分刷新页面,后退按钮不会刷新,仍然为灰色。

    8810

    Excel实战技巧66:创建向导样式的数据输入窗体2

    学习Excel技术,关注微信公众号: excelperfect 在开始阅读本文前,请先学习下列内容: Excel实战技巧66:创建向导样式的数据输入窗体1 下面的内容详细讲解这个引导用户为新员工输入信息的向导样式用户窗体是如何实现的...向导窗体设计 1.打开VBE,添加新的用户窗体。 2.将该用户窗体的高度设置为320,宽度为332。 3.将用户窗体重命名为HRWizard。...1.在多页控件顶部的选项卡中单击右键。 2.在快捷菜单中选择“新建页”,如下图8所示。 ? 图8 3、重复上面添加页的步骤。 此时的用户窗体如下图9所示。 ?...图9 在用户窗体中添加控件 在“Page1”中添加的控件如下表所示,与EmpData工作表中个人信息列标题一致。 表:HRWizard用户窗体控件 ? 图10 在多页控件的下方添加4个命令按钮。...表:命令按钮设置 ? 图11 现在的用户窗体如下图12所示。 ? 图12 在“Page2”中添加的控件如下表所示,与EmpData工作表中地址信息列标题一致。

    99440

    window.location对象实现页面刷新

    用户点击浏览器后退按钮后页面ajax没有更新,通过使用windowlocation对象的方法属性实现页面刷新并刷新数据 window.location.reload() 该方法使浏览器刷新当前页面。...true, 则以GET 方式,从服务端取最新的页面, 相当于客户端点击 Shift + F5(“刷新”)。...该方法在刷新时会 事件: 如果有数据提交的话,会弹窗提示是否提交 bug: 安卓微信浏览器中location.reload方法失效无法跳转?...URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问已经被替换的URL。...使用location.href属性跳转会被加入到浏览器的历史栈中,这意味着可以通过后退键来撤退。

    2.5K40

    机房收费系统(VB.NET)——超详细的报表制作过程

    如图片左上角所示,系统默认新建的这个数据集名称为“DataSet1”,为了命名规范,我们先取消“数据源配置向导”这个窗体,重新命名数据集名称,我的命名为DataSetCheckoutReport: ?...命名之后,点击“新建”进入“数据源配置向导”窗口: ?         在“ 应用程序将从哪里获取数据?”问题下,选择“数据库”,下一步: ?         在“ 要使用哪种类型的数据库模型?”...选择需要用到的数据库中的对象,设置DataSet名称,完成,自动返回“ 报表向导 ”窗体,下一步: ?        ...下面就到了最后阶段,加上代码,核心代码为(限于篇幅,在这只贴上刷新按钮事件代码): '在本代码层首先要添加以下引用 Imports System Imports Microsoft.Reporting.WinForms...最后,重新单击第一步添加的ReportViewer空间,点击右上角的小三角,在“选择报表”后选择您刚制作的报表就大功告成了。

    1.9K30

    C#之二十三 打印和水晶报表

    “按钮,新建一个报表并打开图所示”Crystal库“对话框,该对话框中,在”创建新Crystal Report 文档“中选择”使用报表向导“选项,并”选择专家“中的”标准“选项 (5) 单击...“确定“按钮,打开”标准报表创建向导“对话框,如图所示。...(6) 选择“可用数据源“中“创建新连接”下的OLEDB(ADO)命令打开对话框,选定数据源后,单击“下一步“按钮,在界面中填写正确的数据库连接信息,单击”下一步“按钮,进入高级信息编辑界面...,可以通过双击或选择需要编辑的项,单击”编辑值“按钮进行适当的编辑,编辑完成后,单击”完成“按钮即可完成新连接的创建,如图所示。...(8) 选定数据表后,,单击“下一步“按钮,出现报表字段选择界面,如图所示 在报表字段选择界面中需要在报表中显示的字段,单击”下一步“按钮,进入报表分组界面,用户可以选择合适的字段对数据进行分组

    13200

    Django 实现网站注册用户邮箱验证功能

    也就是说,用户在注册后填写正确的电子邮件地址,接着网站会发送一封启用电子邮件到用户设置的电子邮件的邮箱中,并在邮件中提供一个激活或启用的链接,在用户单击此链接后,账号正式激活或启用。   ...2.建立 django-registration 所需的模板   当用户单击“注册”按钮后,django-registration 就会开始调用一连串的模板以及相关文本文件,这些是我们需要自己写的。...registration_form.html : 显示注册窗体的网页,默认使用 form 变量作为窗体各字段的内容 registration_complete.html : 填写完注册窗体,单击“提交”...按钮后显示的信息页面 activation_complete.html : 当账号顺利完成启用时会显示的页面 activate.html : 当账号启用失败时会显示的页面 activation_email.txt...: 在发送启用邮件时使用的邮件内容 activation_email_subject.txt : 在发送启用邮件时使用的邮件主题 注意:由于 django-registration 会使用到 电子邮件发送功能

    3K20

    Django—视图

    一、URLconf 用户通过在浏览器的地址栏中输入网址请求网站,对于Django开发的网站,由哪一个视图进行处理请求,是由url匹配找到的。...在浏览器中给出地址发出请求采用get方式,如超链接。 在浏览器中点击表单的提交按钮发起请求,如果表单的method设置为post则为post请求。...9)回到浏览器中刷新,浏览效果如下图,点击“继续”按钮,最终浏览效果如下图: ?...上去 四、HttpResponse对象 视图在接收请求并处理后,必须返回HttpResponse对象或子对象。在django.http模块中定义了HttpResponse对象的API。...答:在使用Session后,会在Cookie中存储一个sessionid的数据,每次请求时浏览器都会将这个数据发给服务器,服务器在接收到sessionid后,会根据这个值找出这个请求者的Session。

    4.5K20

    JavaScript 高级程序设计(第 4 版)- BOM

    window 对象在浏览器中有两重身份,一个是 ECMAScript 中的 Global 对象,另一个就是浏览器窗口的 JavaScript 接口。...history 对象还有一个 length 属性,表示历史记录中有多个条目 # 导航 go() 可以在用户历史记录中沿任何方向导航,接收一个整数参数,正值表示前进负值表示后退 go()有两个简写方法:...为防止滥用,这个状态的对象大小是有限制的,通常在 500KB~ 1MB 以内 pushState()会创建新的历史记录,所以也会相应地启用“后退”按钮。...此时单击“后退”按钮,就会触发 window 对象上的 popstate 事件 popstate 事件的事件对象有一个 state 属性,其中包含通过 pushState()第一个参数传入的 state...否则,单击“刷新”按钮会导致 404 错误。所有单页应用程序( SPA, Single Page Application)框架都必须通过服务器或客户端的某些配置解决这个问题。

    1.2K10

    url的操作之pushState、replaceState和popstate

    上一节我们说地址栏跳转的时候,谈到了浏览器会缓存用户访问url序列,我们可以通过浏览器的前进后退按钮或者通过js提供的方法,访问这个序列里的url,不过关于这一点上一节我们只说了window.history.go...window.history.back() 这个方法的作用为返回上一页,相当于浏览器的后退按钮,和window.history.go(-1)达成的效果是一样的。...,它只会将目标url添加到序列中,并且出现在地址栏中,但并不会立即加载并跳转到这个页面,但如果你访问了新的页面,点击返回按钮的时候,或者在当前页面刷新时,浏览器就会加载并跳转到你新添加的这个url。...利用此特性,我们可以动态的修改地址栏的参数,以便在用户下次刷新时候发生不一样的效果,比如我们从其他页面跳转到此页面时会携带一个标识性的参数,我们用完这个参数后可以删除这个参数,以便显示此页面的默认显示内容...popstate popstate类似于一个事件函数,当用户在浏览器点击后退、前进,或者在js中调用histroy.back(),history.go(),history.forward()等,会触发popstate

    2.9K20
    领券