删除页面元素属性
使用场景:上篇文章提到的,我们打开页面之后不想让超链接标签在新的窗口打开链接地址,就可以操作页面元素,将它的target属性删除,使用默认的当前窗口打开链接地址,这样就不需要操作窗口切换
扩展知识:超链接标签<a>标签文本</a>
下面HTML代码中的两个超链接标签的区别,一个包含target属性,一个没有,用浏览器打开查看这两个超链接的区别
<a href="http://www.jd.com" target="_blank">京东</a>
<a href="http://www.baidu.com">百度</a>
实际上,这个target属性控制的是超链接打开方式,target="_blank"控制在新的浏览器窗口打开链接地址,默认没有target就代表在当前窗口打开链接地址
格式:
driver.execute_script("arguments[0].removeAttribute('target')", 定位到的a标签)
# 删除百度首页上新闻标签的target属性
import time
from selenium import webdriver
#获取浏览器驱动
driver = webdriver.Chrome('/Users/huayaofan/Documents/seleniumTest/driver/chromedriver')
#打开百度
driver.get('https://www.baidu.com')
# 定位新闻标签
news = driver.find_element_by_link_text('新闻')
# 删除操作
driver.execute_script("arguments[0].removeAttribute('target')", news)
time.sleep(1)
# 点击删除target属性后的新闻标签
news.click()
time.sleep(10)
driver.quit()