python selenium打开新窗口,python selenium click打开新窗口

a = browser.find_elements_by_xpath("//div[@class='xx']")

a.click()

报错提示: Other element would receive the click

改为如下即可:

browser.execute_script("arguments[0].click();", a)

打开新窗口,切换到新窗口,关闭新窗口,切换回旧窗口

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)

滚动到指定位置:

js = "window.scrollTo(100, 200)" # 对应的X Y轴

browser.execute_script(js)

在Js中获取X,Y轴坐标

var box=document.getElementsByClassName('user-header-personal')[0] // 注意就算只有一个元素 也要写上[0],js默认为数组

box.getBoundingClientRect().top

box.getBoundingClientRect().left

参考:https://blog.csdn.net/u012941152/article/details/88418812

https://www.cnblogs.com/yoyoma0355/p/9263227.html