当前位置: 首页 > 面试题库 >

Python Selenium保持浏览器打开

苏胤
2023-03-14
问题内容

出于营销原因,我正在使用selenium打开一些浏览器窗口。我只是打开我的营销渠道,通过selenium登录并开始工作。

问题是,在执行代码后,selenium将关闭窗口。

到目前为止,所有解决方案均无济于事。

我有13个浏览器窗口atm。,如下所示:

def open_instagram():    
    try:
        # Connect
        chrome_options = webdriver.ChromeOptions()
        chrome_options.add_argument("--incognito")
        browser = webdriver.Chrome('drivers/chromedriver.exe', chrome_options=chrome_options)
        browser.set_window_size(1800, 900)
        browser.get("https://www.instagram.com/accounts/login/?hl=de")
        browser.find_element(By.NAME, 'username').send_keys('MYEMAIL', Keys.TAB, 'MYPW', Keys.ENTER)
    except Exception as e:
        print (e, 'Instagram')

open_instagram()

我找到的最接近的解决方案是在脚本的末尾添加此内容,但是不知何故,它只能保持5个窗口打开,而不是关闭5个窗口并打开下5个新窗口:

while True:
    pass

我只希望selenium使所有浏览器窗口保持打开状态,直到我手动关闭它们为止。


问题答案:

如果您希望chrome和chromedriver保持打开状态,则在启动chromedriver时必须使用“ detach”选项。

在您的情况下,请添加:

from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option("detach", True)

或者, 您可以在调试模式下以结尾处的断点运行代码,并且在断点“暂停”该程序时,如果需要,可以接管浏览器,但这仅在IDE中有效。

编辑-为清楚起见添加了导入



 类似资料:
  • 问题内容: 我创建了一个小的屏幕抓取器,并且一切似乎都运行良好,信息被提取并保存在数据库中。我唯一遇到的问题是有时Python不使用,因此它尝试在错误的页面上获取信息并崩溃。我尝试添加一个,但有时仍然无法正常工作。我正在尝试对其进行优化,以尽可能减少时间。因此,使其hibernate30秒似乎不是一个好的解决方案。 问题答案: 这是最好的解决方案。不能保证back()和forward()方法有效。

  • 问题内容: 当测试失败时,运行selenium测试的浏览器将关闭。这在尝试调试时无济于事。我知道我可以选择在发生故障时进行屏幕截图,但是如果没有整个上下文,那将无济于事。在浏览器仍然可用的情况下,我可以回弹并检查发生了什么。 有没有办法使浏览器即使断言失败或找不到元素也保持打开状态? 问题答案: 几周后随机找出来。 启动服务器时,请在末尾使用-browserSessionReuse选项。这将在整个

  • 全局基类 登录名 } 问题是,当运行此功能时,我得到了下面的错误,我不明白为什么会发生这种情况,因为它在错误的位置上没有给我任何帮助。 未定义步骤:给定I打开Chrome 未定义步骤:浏览网站时 未定义的步骤:然后我使用“user1”和“password1”登录网站

  • 把jade编译为一个可供浏览器使用的单文件,只需要简单的执行: $ make jade.js 如果你已经安装了uglifyjs (npm install uglify-js),你可以执行下面的命令它会生成所有的文件。其实每一个正式版本里都帮你做了这事。 $ make jade.min.js 默认情况下,为了方便调试Jade会把模板组织成带有形如 __.lineno = 3 的行号的形式。 在浏览器

  • Next.js 支持 IE11 和所有的现代浏览器使用了@babel/preset-env。为了支持 IE11,Next.js 需要全局添加Promise的 polyfill。有时你的代码或引入的其他 NPM 包的部分功能现代浏览器不支持,则需要用 polyfills 去实现。 ployflls 实现案例为polyfills。

  • AdminLTE 与 Bootstrap 4 支持的浏览器一样。Bootstrap 支持 主流平台和浏览器,稳定版在 Windows 上,我们支持 Internet Explorer 10-11 / Microsoft Edge。更多详细信息,请点击此处。 你可以在 我们的 .browserslistrc 文件 找到支持的浏览器情况及其版本: # https://github.com/browse