python selenium click打开新窗口
买泛域名SSL证书 送5斤装现摘猕猴桃一箱、同时提供技开源商城搭建免费技术支持。
泛域名ssl证书 239元1年送1个月、单域名39元1年,Sectigo(原Comodo证书)全球可信证书,强大的兼容性,高度安全性,如有问题7天内可退、可开发票
加微信VX 18718058521 备注SSL证书
【腾讯云】2核2G4M云服务器新老同享99元/年,续费同价
泛域名ssl证书 239元1年送1个月、单域名39元1年,Sectigo(原Comodo证书)全球可信证书,强大的兼容性,高度安全性,如有问题7天内可退、可开发票
加微信VX 18718058521 备注SSL证书
【腾讯云】2核2G4M云服务器新老同享99元/年,续费同价
1 2 | a = browser.find_elements_by_xpath("//div[@class='xx']")a.click() |
报错提示: Other element would receive the click
改为如下即可:
browser.execute_script("arguments[0].click();", a)打开新窗口,切换到新窗口,关闭新窗口,切换回旧窗口
1 2 3 4 5 6 7 8 9 10 11 12 13 | handle_main = browser.current_window_handlea = browser.find_elements_by_xpath("//div[@class='xx']/a[1]") # a[1]就是第一个a标签 当前元素下xpath为"./div[1]/a[2]"browser.execute_script("arguments[0].click();", a)handle_all = browser.window_handles # 只有2个窗口时for h in handle_all: if h != handle_main: handle_new = hbrowser.switch_to.window(handle_new)browser.close()browser.switch_to.window(handle_main) |
滚动到指定位置:
1 2 | js = "window.scrollTo(100, 200)" # 对应的X Y轴browser.execute_script(js) |
在Js中获取X,Y轴坐标
1 2 3 4 | var box=document.getElementsByClassName('user-header-personal')[0] // 注意就算只有一个元素 也要写上[0],js默认为数组box.getBoundingClientRect().topbox.getBoundingClientRect().left |


