繁体   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