簡體   English   中英

如何使用 python selenium 在新選項卡中打開鏈接而不知道其 URL

[英]How to open a link without knowing its URL in new tab using python selenium

我想單擊 facebook 組帖子中的鏈接,其 href 屬性為“#”,但是當我們單擊它時,href 屬性會自動更改為特定的 URL 所以我只想單擊鏈接,以便它將在新選項卡中打開。

抱歉,我沒有任何代碼來解釋這種情況。

由於您既沒有提供代碼,也沒有提供指向該頁面的鏈接,所以我用一些示例代碼回答了它,說明如何在新選項卡中打開鏈接:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
actions = ActionChains(driver)
driver.get("https://stackoverflow.com/")
link = WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.XPATH, "//a[@class='s-navigation--item js-gps-track']")))
actions.key_down(Keys.CONTROL)
actions.click(on_element=link)
actions.perform()

無論如何,就是這樣:您使用 ActionChains 控制+單擊(在新選項卡中打開)鏈接。 有了它,您可以執行每一個復雜的操作。 可以在此處找到可用操作/方法的列表。

編輯:啊,如果那時(我猜)你想從一個標簽移動到另一個標簽,你可以像這樣輕松地做到這一點:

tabs = driver.window_handles
driver.switch_to.window(tabs[1])

其中tabs是一個從零開始的列表(tabs[0] 是第一個選項卡,tabs[1] 第二個等等......)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM