【问题标题】:Selenium - How to open url in active/current tab in pythonSelenium - 如何在 python 的活动/当前选项卡中打开 url
【发布时间】:2021-09-05 13:45:53
【问题描述】:
def get_status(driver):
    try:
        driver.execute(Command.STATUS)
        return "Alive"
    except (socket.error, httplib.CannotSendRequest):
        return "Dead"

    if get_status(driver) == 'Alive':
 #using this opens a whole new window but i want to go to another website in same tab.
           driver.get('https://www.amazon.in') 
    else :
            driver.get('https://www.google.in')

所以基本上我想在 chrome/firefox 浏览器的活动选项卡中打开一个新的 url。但我没有找到任何解决方法。我希望你能回答这个问题。

所有关于此的教程都将我重定向到 java 函数

driver.navigate.to()

这在 python 中不起作用。

【问题讨论】:

  • 如果成功执行会发生什么? driver.execute(Command.STATUS) ?另外,您所说的活动标签到底是什么意思?
  • @Imran Syed - 你是在def get_status(driver): 内打电话给get_status(driver) 吗?在except 之后?在except 之后不会检测到If 块。

标签: python python-3.x selenium selenium-webdriver


【解决方案1】:

此代码确实在同一选项卡中打开了一个新 URL。

from selenium import webdriver
from selenium.webdriver.remote.command import Command
import http.client as httplib
import socket

def get_status(driver):
    try:
        driver.execute(Command.STATUS)
        return "Alive"
    except (socket.error, httplib.CannotSendRequest):
        return "Dead"


driver = webdriver.Chrome(executable_path="path to chromedriver.exe")
driver.maximize_window()
driver.implicitly_wait(20)
driver.get("https://www.youtube.com/")

if get_status(driver) == 'Alive':
    # using this opens a whole new window but i want to go to another website in same tab.
    driver.get('https://www.amazon.in')
else:
    driver.get('https://www.google.in')
driver.quit()

【讨论】:

  • 您能否在答案中添加更多上下文。因为它是写的,很难理解和阅读。
猜你喜欢
  • 2014-09-12
  • 1970-01-01
  • 2013-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-02
相关资源
最近更新 更多