【问题标题】:Customize the browser icon when running a Selenium session?运行 Selenium 会话时自定义浏览器图标?
【发布时间】:2021-03-29 22:02:05
【问题描述】:
我有一些 Selenium 会话,如果发生某些事件,我会生成一个新浏览器并保留旧浏览器,以便以后可以手动干预。问题是很难区分这样一个废弃的浏览器会话和当前正在运行的浏览器会话。
理想情况下,我想在应用程序切换器(cmd-tab)和扩展坞中显示的浏览器图标上添加一个徽章(但也欢迎其他解决方案/建议,例如在浏览器名称中添加一些内容) .这可能吗?
在 Mac 上使用 Java。解决方案可以是特定于平台的。
【问题讨论】:
标签:
java
macos
selenium
google-chrome
firefox
【解决方案1】:
你可以使用下面的execute_script(这个python代码使用java等价)
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get(
"https://stackoverflow.com/questions/9943771/adding-a-favicon-to-a-static-html-page")
head = driver.find_element_by_tag_name("head")
link = driver.find_element_by_css_selector('link[rel="shortcut icon"]')
driver.execute_script('''var link = document.createElement("link");
link.setAttribute("rel", "icon");
link.setAttribute("type", "image/png");
link.setAttribute("href", "https://i.stack.imgur.com/uOtHF.png?s=64&g=1");
arguments[1].remove();
arguments[0].appendChild(link);
''',head,link)
time.sleep(70000)
您可以在 head 标签上使用链接元素来添加网站图标。上面的代码是一个示例,其中 stackoverflow 站点将显示我的头像
输出:
您应该找到网站使用的当前链接,将其删除并替换为您的新链接,如代码所示