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_handle a = 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 = h browser.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().top box.getBoundingClientRect().left |