首页 > 其他 > 详细

selenium控制超链接在当前标签页中打开或重新打开一个标签页

时间:2019-10-24 17:00:26      阅读:768      评论:0      收藏:0      [点我收藏+]

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()

 

selenium控制超链接在当前标签页中打开或重新打开一个标签页

原文:https://www.cnblogs.com/tynam/p/11733264.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!