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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM