iT邦幫忙

0

Python Selenium click()如何不要開新視窗

com 2020-04-26 22:14:142129 瀏覽

目標網頁

<a href="https://www.google.com" target="_blank">GOOGLE</a>

我的Python程式

from selenium import webdriver
import time
browser = webdriver.Chrome('C:\chromedriver.exe')
browser.find_element_by_partial_link_text('GOOGLE').click()
browser.close()

因為html程式中指定開新視窗
所以browser.close()無法將其關閉
請問前輩
Selenium是否有語法將target="_blank"改成target="_top"
或是browser.close()可以控制到新開的視窗讓其關閉

可以參考driver.execute_script()
com iT邦新手 5 級 ‧ 2020-04-27 20:17:48 檢舉
感謝提供方向,我現在可以直接將tampermonkey的腳本移上來使用了

2 個回答

0
listennn08
iT邦高手 8 級 ‧ 2020-04-26 23:43:18
最佳解答
# 儲存當前視窗
current_window = browser.current_window_handle
browser.switch_to.window("new window name")
# ...
browser.close()
browser.switch_to.window(current_Window)
# or
# 當前視窗
window_before = browser.window_handles[0]
# 新視窗
window_after = browser.window_handles[1]
browser.switch_to.window(window_after)

要改成 target="_top" 也可以
試試這個

com iT邦新手 5 級 ‧ 2020-04-27 20:15:29 檢舉

謝謝您的解答

0
I code so I am
iT邦研究生 4 級 ‧ 2020-04-27 08:35:27

可以參考:
http://python-learnnotebook.blogspot.com/2018/10/chrome-headless.html

--headless:不顯示 Chrome 視窗
driver.quit()#關閉瀏覽器

com iT邦新手 5 級 ‧ 2020-04-27 20:13:45 檢舉

謝謝您提供driver.quit()讓我將Devtool視窗能夠關閉

我要發表回答

立即登入回答