我的要求是在新配置文件上测试 chrome 扩展。
我为 Chromium args[--user-data-dir, --profile-directory]引用了https://peter.sh/experiments/chromium-command-line-switches/
浏览器启动后,会打开 2 个 chrome 窗口。一个具有给定的配置文件和扩展名,另一个具有默认配置文件和给定的扩展名。此外,焦点位于具有默认配置文件的窗口上。所以所有的动作都发生在它上面。
我原以为只有 1 个浏览器窗口会以所需的配置文件和扩展名打开。
我试图将焦点切换到所需的窗口,但 browser.BrowserContexts().length 为 1,这是具有默认配置文件的浏览器。另外 browser.targets() 显示只有 1 个目标类型为浏览器。
我的环境:
1. Puppeteer 版本:6.9.0
2. 平台/操作系统版本:Windows 10 Pro 版本 1803
3. URL(如果适用):
4. Node.js 版本:10.16.3
我的尝试:
一。从 path\to\my\project\node_modules\puppeteer.local-chromium\win64-674921\chrome-win\chrome.exe 打开 chrome.exe
b. 单击个人资料图标并打开“管理人员”对话框。
C。添加新人(个人资料)
d. 打开 chrome://version 并记下 Profile Path 并关闭浏览器。
e. 创建example1.js、example2.js并使用节点example1.js、节点example2.js执行。下面给出了两个示例的代码。
例子1.js
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({headless:false, args:['--disable-extensions-except=\\path\\to\\my\\extension',
'--load-extension=\\path\\to\\my\\extension',
'--user-data-dir=%userprofile%\\AppData\\Local\\Chromium\\User Data',
'--profile-directory=Profile 1'
]});
const page = …Run Code Online (Sandbox Code Playgroud) javascript automated-tests browser-automation chromium puppeteer
How can we automatically toggle Dark Mode at predetermined times?
Every day, around 5 PM, I switch on the dark mode of the Dark Reader Chrome extension. I toggle it off again the next morning to get more bright light in the morning.
As of now, I have remind myself everyday to hit the <Alt>+<Shift>+<D>-shortcut that I have configured in Google Chrome (chrome://extensions/shortcuts):

browser google-chrome browser-automation google-chrome-extension darkmode
我正在使用Watir-webdriver,我想知道是否有一个好方法来检查是否有新窗口打开.我已经google了一下,虽然感觉应该有一个简单的答案,但找不到任何东西.
我有一个打印机友好的链接,我想测试链接在新窗口或选项卡中打开,我想用ie,firefox,chrome和safari进行测试,如果可能的话.
谢谢!
我试图在IE 10中使用selenium自动化网站.该网站打开正常但是当我想点击一个元素(按钮)时,它找到元素并点击它,但是元素状态(按钮名称改变)需要要改变不会改变.
这是我的代码.
File file = new File("D:/IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath() );
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,
true);
WebDriver driver = new InternetExplorerDriver(capabilities);
driver.get("http://www.midomi.com");
driver.findElement(By.id("searchMovielanding")).click();
Run Code Online (Sandbox Code Playgroud)
我试过两台机器.在一台机器上代码正常运行而在另一台机器上没有看到click事件改变元素状态.我检查了网页上的元素,然后发现它不知道为什么它没有在一台机器上正确点击它.
if(driver.findElements(By.id("searchMovielanding")).size() != 0) {
System.out.println("Element Found");
}
Run Code Online (Sandbox Code Playgroud)
任何帮助解决这个问题.
selenium internet-explorer browser-automation selenium-webdriver
我正在尝试使用katalon studio上传文件进行自动化测试(web测试.点击'浏览'按钮后,Windows弹出窗口打开,但我无法选择照片或转到特定路径.我找到了一个命令WebUI.UploadFile( )但我认为我没有正确使用它.
如果有人有这样的事情,请分享您的经验.我怎么能在katalon做到这一点?
testing automation automated-tests browser-automation katalon-studio
如果我的页面中有一些内容,例如:
<a>Hi!</a>
Run Code Online (Sandbox Code Playgroud)
如何使用Google的Puppeteer自动点击该元素?
我需要能够仅根据其内容而不是id,class或attribute来选择它。
$('a:contains("Hi!")')我可以利用这种东西来选择此元素吗?
如何使用https://github.com/GoogleChrome/puppeteer做到这一点
谢谢
我在 Firefox 82.0.3 (64) 中使用 selenium
该代码工作正常,但问题是它说浏览器处于远程控制之下。
有什么办法可以解决或者有其他办法绕过它。
我实际上想要用selenium做的是每次执行代码时使用我定义的新代理打开一个新的firefox实例。
提前致谢
这是我的代码片段。
import webbrowser
import time
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.firefox import GeckoDriverManager
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
fbgroups = open("all.txt").readlines()
whitelist = open("ntp.txt").readlines()
llf = open('last.txt',"r")
print("Total groups: " + str(len(fbgroups)))
print("Whitelisted: " + str(len(whitelist)))
print("Last: " + str(llf.read()))
# var = int(input('\nStart from: '), 10)
var = 1
myProxy = "us.smartproxy.com:18000"
PROXY_HOST, PROXY_PORT = myProxy.split(":")
while True:
for a in range (len(fbgroups)-var,0, -1):
print("Line No: …Run Code Online (Sandbox Code Playgroud) python selenium browser-automation selenium-webdriver geckodriver
我有考虑 IE 编写的自动化工具。现在,我想通过将“Microsoft Edge”视为默认浏览器来重新编写这些相同的工具。除了下载作为 Selenium 包一部分的 WebDriver 之外,我找不到其他方法。
有人可以帮助我在不下载/安装其他软件或网络驱动程序的情况下自动化 Edge 浏览器吗?
谢谢,坎蒂
我一直在使用 Selenium Python 库测试各种自动化任务。在这个过程中我遇到了一个非常严重的问题。这是由于网络连接不良造成的延迟。所有任务的起始步骤都是相同的,即 - 打开浏览器 - 转到网站 - 登录 - 登录后打开特定链接
这些任务需要很长时间,因此我希望找到一种方法,可以重用已经打开的会话并继续在该窗口上进行测试,而不是每次运行脚本时打开新的浏览器窗口。
这是我迄今为止测试过的:
原始文件示例:
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.notifications" : 2}
chrome_options.add_experimental_option("prefs",prefs)
driver = webdriver.Chrome(r'C:\testDir\chromedriver_win32\chromedriver.exe', chrome_options=chrome_options)
url = driver.command_executor._url
session_id = driver.session_id
print("URL:",url,"SESSION ID:",session_id)
driver.get('http://www.facebook.com')
username = "---"
password = "---"
driver.find_element_by_name('email').send_keys(username)
driver.find_element_by_name('pass').send_keys(password)
driver.find_element_by_name('login').click()
# time.sleep(2)
driver.maximize_window()
time.sleep(2)
driver.find_elements_by_name('q').send_keys('Ayush Mandowara')
# element = wait.until(EC.presence_of_element_located((By.xpath, '//input[@placeholder="Search"]'))
driver.find_element_by_xpath('//input[@placeholder="Search"]').send_keys('Ayush Mandowara' + Keys.RETURN)
time.sleep(4)
driver.find_element_by_xpath('//div[contains(text(), "Ayush Mandowara")]').click()
time.sleep(3)
driver.find_element_by_class_name('coverBorder').click()
time.sleep(2)
Run Code Online (Sandbox Code Playgroud)
连接文件:
from connectingToPrev import url, session_id
driver = …Run Code Online (Sandbox Code Playgroud) selenium browser-automation python-3.x selenium-chromedriver selenium-webdriver
我们如何测试具有基于 Azure AD 的身份验证的 SPA?当用户打开应用程序时,用户首先被发送到 login.microsoftonline.com,并在输入用户电子邮件后,页面重定向回应用程序主页。在这种情况下,我们如何使用 Playwright 实现自动化?
selenium ×4
puppeteer ×3
automation ×1
browser ×1
chromium ×1
darkmode ×1
geckodriver ×1
javascript ×1
playwright ×1
python ×1
python-3.x ×1
ruby ×1
testing ×1
watir ×1