[英]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.