Python+Selenium之练习篇4-浏览器页面操作

多窗口之间切换利用selenium的switch_to.window()来处理。首先打开页面A,然后在页面A点击一个链接,会触发在新Tab或新窗口。由于之前的driver实例对象在页面A, 即(driver.current_window_handle仍在页面A), 但是接下来的脚本是操作页面B的元素,这样就造成了找不到元素的错误。这时可以用selenium中switch_to.window()来进行页面的切换。

1. 在浏览器中新开一个tab

import time

from selenium import webdriver

from selenium.webdriver.common.keysimport Keys

import os


file_path = os.path.dirname(os.path.abspath('.'))+"/tools/chromedriver.exe"

driver = webdriver.Chrome(file_path)

driver.maximize_window()

driver.get("https://www.baidu.com") #先打开一个网页

driver.implicitly_wait(5)

newwindow ='window.open("http://xueshu.baidu.com/")'

driver.execute_script(newwindow) #打开一个新窗口

driver.switch_to.window(driver.window_handles[1])#移动句柄,对新打开页面进行操作

time.sleep(1)

2. 点击单选按钮:

for i in driver.find_elements_by_xpath("//*/input[@type='radio']"):

    i.click()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容