python - 如何使用 selenium-webdriver 和 python 在浏览器中的单独选项卡中打开多个网页
问题描述
我想使用 Python 使用 Selenium Webdriver 在同一浏览器窗口中打开多个本地 html。我在 Jupyter 笔记本中尝试过以下操作:
from selenium import webdriver
1page = "file://<path for 1.html>"
2page = "file://<path for 2.html>"
firefox_path = 'C:\geckodriver.exe'
driver = webdriver.Firefox(executable_path= firefox_path)
driver.get(1page)
# For opening 2nd HTML in another Tab
driver.execute_script('''window.open('''+ 2page + ''',"_blank");''')
运行上面的代码导致我出现以下错误:
JavascriptException: Message: Error: Access to 'file://<path of 2.html>' from script denied
如何减轻这个错误?
解决方案
要在浏览器中以单独的选项卡打开多个URL /网页,您可以使用以下解决方案:
代码块:
from selenium import webdriver first_page = "http://www.google.com" second_page = "https://www.facebook.com/" options = webdriver.ChromeOptions() options.add_argument("start-maximized") options.add_argument('disable-infobars') driver=webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe') driver.get(first_page) driver.execute_script("window.open('" + second_page +"');")
浏览器快照:
推荐阅读
- docker - 复制失败:stat /var/lib/docker/tmp/docker-xxx:没有这样的文件或目录
- python - 如何从Python中的给定字符串中单独解析日期字符串?
- python - 如何将 PyQt5 QLineEdit 响应存储到字典中特定位置的字典中
- google-cloud-datalab - 通过 Google Cloud Shell 连接时无法在 datalab 中运行笔记本
- azure - 403 禁止 microsoft-azure-application-gateway/v2
- c++ - 我如何在没有定义的情况下在 C++ 中获取变量名
- python - 如果标识符在范围内,则选择训练数据
- vue.js - quasar q-table 数据分页限制如何延迟加载
- java - webdrivermanager 与 TravisCI 构建服务器的兼容性
- java - Java 构造函数可以提升类型吗?