使用Selenium Python在同一选项卡中一一打开多个URL

Fir*_*aun 4 python selenium selenium-webdriver

这是我的脚本,其中 JSON 文件包含要打开的所有 URL。这个脚本的作用是,它打开一个 URL 截取屏幕并关闭它;然后打开一个新的等等。

如果我想对所有这些 URL 继续使用相同的浏览器会话怎么办。像转到站点 1,获取屏幕截图。现在转到同一浏览器/选项卡中的站点 2。并仅在最后一个 URL 处关闭会话/浏览器。

import json
from selenium.webdriver import Chrome

with open('path to json file', encoding='utf-8') as s:
    data = json.loads(s.read())

for site in data['sites']:
    driver = Chrome('path to chrome driver')
    driver.get(data['sites'][site])
    driver.get_screenshot_as_file(site + '.png')
    driver.close()
Run Code Online (Sandbox Code Playgroud)

Pra*_*bar 6

因为每次循环结束时你都在关闭浏览器,你只需要保持driver.close()在循环之外。

import json
from selenium.webdriver import Chrome

with open('path to json file', encoding='utf-8') as s:
    data = json.loads(s.read())

for site in data['sites']:
    driver = Chrome('path to chrome driver')
    driver.get(data['sites'][site])
    driver.get_screenshot_as_file(site + '.png')
driver.close()
Run Code Online (Sandbox Code Playgroud)