美文网首页
webdrvier_api_多窗口切换

webdrvier_api_多窗口切换

作者: 想_上天 | 来源:发表于2018-08-25 17:14 被阅读0次

多窗口:

以百度搜索“渗透吧”为例

方法一:

from selenium import webdriver

from selenium import time

dr = webdriver.Chrome()

dr.get("www.baidu.com")

dr.find_element_by_id("kw").send_keys("渗透吧")

dr.find_element_by_id("su").click()

sleep(3)

dr.find_element_by_xpath("//*[@id='1']/h3/a").click()#点击渗透吧

sleep(3)

#第二个窗口  继续定位 点击 进入贴吧 按钮(没有切换窗口继续定位)

#没有切换窗口意味着我们在第二个窗口操作时,而电脑用的是在第一个窗口的操作,不一致

#因演示所以加个异常处理try和except,这里的except跟try是唱反调的,代码从try开始运行,如果try报错就进行except

try:

    dr.find_element_by_link_text("进入贴吧").click()

    dr.refresh()

    sleep(3)

    dr.quit()

except:

    print("报错:需要切换窗口!")

#所以我们就要切换窗口来定位

多窗口切换

由默认窗口点击某个链接或者按钮,页面跳转到第二个窗口时,需要在定位脚本前增加如下代码告诉计算机我要切换窗口。

    #语法:dr.switch_to_window(dr.window_handles[1])

switch_to_window   切换窗口方法

.window_handles[1]  切换到第二个窗口

[1]   代表的是进入第二个窗口

[2]   代表的是进入第三个窗口        以此类推

###################正确的代码###########################

    #try和except是一个结构必须一起出现,pass表示什么都不做,代码正确或者错误都通过

    #try和else,这里的try和else是一起的,代码从try处开始运行如果不报错那么就会运行else

try:

    dr.switch_to_window(dr.window_handles[1])

    dr.find_element_by_link_text("进入贴吧").click()

    dr.refresh()

    sleep(3)

except:

    pass

else:

    print("页面跳转成功!!!可以关闭")

finally:

    dr.quit()

方法二:

通过get方法切换到第二个窗口     相当于在原有的窗口操作,没有多处的窗口

dr.get("得到的一个地址")

这个方法的意思是我们点击后多了个窗口,这个多出的窗口是个预期结果吧,我们将这个预期结果的窗口网址放到dr.get("窗口网址")里就行了

from selenium import webdriver

from selenium import time

dr = webdriver.Chrome()

dr.get("www.baidu.com")

dr.find_element_by_id("kw").send_keys("渗透吧")

dr.find_element_by_id("su").click()

sleep(3)

dr.find_element_by_xpath("//*[@id='1']/h3/a").click()

sleep(3)

dr.get("http://tieba.baidu.com/f?ie=utf-8&kw=%E6%B8%97%E9%80%8F&fr=search")

sleep(3)

dr.find_element_by_link_text("进入贴吧").click()

相关文章

  • webdrvier_api_多窗口切换

    多窗口: 以百度搜索“渗透吧”为例 方法一: from selenium import webdriver fro...

  • 多窗口切换

    from seleniumimport webdriver import time """ 多窗口切换: curr...

  • 多窗口切换

    switch_to_window()

  • 多窗口切换

    有时候我们进行某个操作的时候会弹出新的窗口,比如豆瓣,点击读书,就会弹出新窗口,百度,点击注册也会弹出新窗口,这个...

  • 多窗口切换

    在自动化测试过程中,点击某个连接后往往会打开另外的窗口,有时候我们需要回到之前的窗口,这时候就需要有相应的标识才能...

  • UI自动化 - senlenium中frame与句柄切换

    ui自动化测试day04 一、frame切换、多窗口切换 1、frame切换 frame切换实现方法:driver...

  • Selenium中如何处理多窗口切换的问题

    句柄:窗口的唯一标识,多窗口切换窗口时切换句柄就可以在多个页面之间灵活操作了。 多窗口处理流程:1.先获取当前窗口...

  • 多窗口切换操作

    多窗口切换操作,实现思路: 打开第一个窗口, 设置窗口句柄windows_index = driver.curre...

  • 多窗口切换_句柄

    链接https://weread.qq.com/web/reader/93e32be0718455363b7c9c...

  • JS处理多窗口

    JS修改元素属性可以实现多窗口之间的切换。 对于多窗口的处理,只需要修改target属性即可。查看“帮助”链接,会...

网友评论

      本文标题:webdrvier_api_多窗口切换

      本文链接:https://www.haomeiwen.com/subject/gngwiftx.html