账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    请问python+selenium+chromedriver如何在有界面模式下始终“静默”打开新标签页?
    43
    0

    需要使用python+selenium+chromedriver反复点击链接---打开新标签页---关闭新打开标签页---切换原始界面---点击链接----以此反复

    本来是想让chrome最小化运行的(因为需要控制已打开的浏览器,所以不能以无头模式打开),
    但是每次新打开标签页都会把最小化的界面前置到前台来,不能同时弄其他事了(哭)

    搜了相关资料,发现只有讲headless的,
    没搜到怎么隐藏/显示窗口切换,或者始终保持窗口最小化的方法

    求教各位大神!!

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • ゾ等ミ流星ジ 普通会员 1楼

      在Python中,你可以使用selenium和chromedriver库来模拟浏览器的行为,包括在有界面模式下始终“静默”打开新标签页。以下是一个简单的示例:

      首先,确保你已经安装了所需的库,例如:

      bash pip install selenium pip install chromedriver

      然后,你可以使用以下代码在有界面模式下始终“静默”打开新标签页:

      ```python from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC

      创建一个新的Chrome浏览器实例

      driver = webdriver.Chrome(options=Options().set不死进程=True)

      创建一个新的标签页实例

      new_page = driver.get('https://www.example.com')

      创建一个新的等待对象,等待新标签页加载完成

      wait = WebDriverWait(driver, 10)

      使用wait.until()方法等待新标签页加载完成

      new_page.is_displayed() # 如果新标签页已经加载,等待条件为True .until(EC.presence_of_element_located((By.ID, 'new_page')))

      现在,新标签页已经加载完成,你可以使用selenium的其他方法进行操作

      ...

      关闭新标签页

      new_page.quit()

      释放浏览器资源

      driver.quit() ```

      在这个示例中,我们首先创建了一个新的Chrome浏览器实例和一个新的标签页实例。然后,我们使用WebDriverWait对象来等待新标签页加载完成。当新标签页加载完成时,等待条件为new_page.is_displayed(),该条件返回True表示新标签页已经加载。我们使用wait.until(EC.presence_of_element_located((By.ID, 'new_page')))方法来等待这个条件满足。

      最后,我们使用selenium的其他方法进行操作,然后使用new_page.quit()方法关闭新标签页,释放浏览器资源。注意,我们使用了WebDriver.quit()方法来关闭浏览器,这是因为在有界面模式下,浏览器通常不会自动退出,而是会在后台运行。

      这样,当用户打开新标签页时,Python的selenium库会模拟浏览器的行为,始终保持“静默”打开新标签页,不会在页面加载时弹出窗口或显示页面内容。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部