selenium控制超链接在当前标签页中打开或重新打开一个标签页
selenium控制超链接在当前标签页中打开或重新打开一个标签页
在web页面源码中,控制超链接的打开是在当前标签页还是重新打开一个标签页,是由属性target=“_black”进行控制的。
如果还有属性target=“_black”,则点击超链接会重新打开一个标签页,反之在当前标签页打开。
使用 selenium 控制,则需要借助 js 进行对属性 target=“_black” 的设置或移除操作。
以百度首页“新闻”为例,使其重新打开一个标签页。
from selenium import webdriver import time driver = webdriver.Chrome('') driver.get("https://www.baidu.com/") time.sleep(2) # 定位 新闻 element = driver.find_element_by_name('tj_trnews') # js 语句, 定义一个变量el,并且给其赋值 新闻 元素 # 对 el 进行 target='_blank' 属性设置 js = "var el = document.getElementsByName('tj_trnews')[0];" \ "el.setAttribute('target','_blank');" # 移除属性 target,使访问的页面在当前页面打开 # el.removeAttribute("target"); # driver 执行 js 语句 driver.execute_script(js) element.click() # driver.quit()
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步