【问题标题】:How to disable opening the page in a new tab in Selenium Webdriver in Python?如何禁用在 Python 的 Selenium Webdriver 的新选项卡中打开页面?
【发布时间】:2018-05-30 12:59:17
【问题描述】:

我正在抓取网站:http://www.delhidistrictcourts.nic.in/DLCIS-2016-2.html

此页面中有许多链接。用户将单击任何这些链接(通过 selenium Web 驱动程序)。问题是,当用户点击这些链接时,它会在新选项卡中打开,因为所有链接都有一个属性(“_target=blank”)

知道如何强制在同一选项卡中打开链接吗?

这是我写的代码

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
url = 'http://www.delhicourts.nic.in/DLCIS-2016-2.html'

driver=webdriver.Chrome()
driver = webdriver.Chrome()
wait = WebDriverWait(driver, 10)
driver.get(url)

try:
    wait.until(EC.presence_of_element_located((By.CLASS_NAME, "submit1"))).click()
except Exception as e:
    print str(e)

【问题讨论】:

    标签: python selenium selenium-webdriver


    【解决方案1】:

    你可以尝试更新@target的值:

    link = wait.until(EC.presence_of_element_located((By.LINK_TEXT, "CASE NUMBER WISE")))
    driver.execute_script("arguments[0].target='_self';", link)
    link.click()
    

    对页面上的所有链接应用相同的:

    links = wait.until(EC.presence_of_all_elements_located((By.TAG_NAME, "a")))
    for link in links:
        driver.execute_script("arguments[0].target='_self';", link)
    

    或提取链接的@hrefget()它:

    link = wait.until(EC.presence_of_element_located((By.LINK_TEXT, "CASE NUMBER WISE")))
    url = link.get_attribute('href')
    driver.get(url)
    

    【讨论】:

    • 非常感谢@Anderson 的帮助。 link = wait.until(EC.presence_of_element_located((By.CLASS_NAME, "submit1"))) 是表单提交(提交按钮)而不是链接。
    • 是的,但是您的问题中没有链接代码,所以...只需对链接节点应用相同的代码
    • 那是我缺少的代码部分。用户将从多个链接中进行选择,这些链接会将他带到新选项卡。这个选项卡有一个表单,我已经为其编写了上面的代码
    • 如何强制,在同一个选项卡中打开链接?假设链接已经找到...你需要找到链接还是在同一页?相应地更新您的问题
    • 没错。我不知道该链接,因为 URL 中有许多链接。这些链接中的每一个都会将您带到一个页面(在新选项卡中)。我需要打开用户在同一页面中单击的链接。我会用额外的截图修改问题
    猜你喜欢
    • 2015-08-31
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 2013-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多