一.selenium中iframe切换方法: 方法一:switch_to.frame frame函数中提供了三种定位方法:by index, name, or webelement. driver.switch_to.frame('frame_name') driver.switch_to.frame(1) driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0]) 以腾讯课堂为例: from seleni…
众所周知,Python通常结合selenium模块来完成一些web的自动化测试以及RPA(Robotic Process Automation)工作.事实上,Selenium还可以支持插入js语句.执行js语句.返回js语句的执行结果到python程序中.这对于那些已经习惯了Javascript语法的程序员们,简直是一大神器. 举个简单的例子,我们用selenium原生的方法对页面的一个input元素执行输入时,通常需要用到selenium中的send_keys以及clear方法, 代码类似于:…
switch_to.frame()                               切换frame switch_to.default_content()                切换到主页面 #从frame中切回主文档 switch_to.parent_frame()                    这是switch_to中独有的方法,可以切换到上一层的frame,对于层层嵌套的frame很有用 # selenium给我们提供了一个方法能够从子frame切回到父fram…
在selenium中,我们会遇到一些问题,就是多窗口处理的问题,我们爬取的内容在一个新窗口上,这个时候,我们就需要先切换到这个新的窗口上,然后进行抓取内容. 如何切换呢? 首先,获取当前窗口句柄 1.元素有属性,浏览器的窗口其实也有属性的,只是你看不到,浏览器窗口的属性用句柄(handle)来识别. 2.人为操作的话,可以通过眼睛看,识别不同的窗口点击切换.但是脚本没长眼睛,它不知道你要操作哪个窗口,这时候只能句柄来判断了. 3.获取当前页面的句柄:driver.current_window_h…
from selenium import webdriverfrom selenium.webdriver.common.by import Byimport time driver = webdriver.Firefox()driver.get("http://bj.ganji.com/")time.sleep(3) 1.获取句柄 # 获取当前的handle名字handle = driver.current_window_handleprint(f"获取到当前的handle…
方法一:通过索引,id,name,WebElement定位 from selenium import webdriverdriver = webdriver.Firefox()driver.switch_to.frame(0) # 1.用frame的index来定位,第一个是0# driver.switch_to.frame("frame1") # 2.用id来定位# driver.switch_to.frame("myframe") # 3.用name来定位# d…
""" join()方法:主线程A中,创建了子线程B,并且在主线程中调用了B.join()方法,那么主线程A会在调用的地方等待,直到子线程B完成操作后,才可以接着往下执行. setDaemon()方法:主线程A中,创建了子线程B,并且在主线程A中调用了B.setDaemon()方法,这个意思是把主线程A设置为守护线程,这个时候,要是主线程A执行结束了, 就不用管线程B是否完成,一并和主线程A退出 注意:setDaemon() 必须在start()方法调用之前设置 "…
学习并转自:https://blog.csdn.net/geerniya/article/details/77487941 1. 不用init()方法定义类 定义一个矩形的类,目的是求周长和面积. class Rectangle(): def getPeri(self,a,b): return (a + b)*2 def getArea(self,a,b): return a*b rect = Rectangle() print(rect.getPeri(3,4)) print(rect.get…
#第一层是默认层, 第二层是新建标签的层,第三层是百度的那层from selenium import webdriverimport timedriver=webdriver.Chrome()driver.get('http://ui.imdsx.cn/uitester/')# 最大化浏览器driver.maximize_window()# 定位到页面顶部js='window.scrollTo(0,0)'driver.execute_script(js)time.sleep(2)driver.f…
在Web应用中经常会遇到fram/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于fram/iframe表单内嵌套页面上的元素无法直接定位.这是需要通过switch_to_fram()方法定位当前定位的主体切换为fram/iframe表单内嵌页面中.…