我为Opening Chrome添加了以下依赖项和代码,但浏览器未打开.
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>2.50.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我的代码: -
package example;
import org.openqa.selenium.WebDriver;`
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
public class DepChrome {
@Test
public void testBrowser() {
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
}
}
Run Code Online (Sandbox Code Playgroud) selenium google-chrome maven selenium-webdriver maven-dependency
我想用硒和铬测试多个移动用户代理.我正在使用python 3.6并尝试部署到heroku.我正在使用无头铬= 68.0.3440.75 chromedriver 2.40.565383.基于http://chromedriver.chromium.org/mobile-emulation:
def create_chromedriver(ua=False):
options = webdriver.ChromeOptions()
CHROMEDRIVER_PATH = os.getenv('$HOME') or basedir+'/chromedriver.exe'
FLASK_CONFIG = os.getenv('FLASK_CONFIG')
if FLASK_CONFIG and FLASK_CONFIG == "production":
# CHROMEDRIVER_PATH = '/app/.chromedriver/bin/chromedriver'
CHROMEDRIVER_PATH = '/app/.chromedriver/bin/chromedriver'
GOOGLE_CHROME_SHIM = os.getenv('$GOOGLE_CHROME_SHIM') or 'no path found'
print(GOOGLE_CHROME_SHIM)
print(GOOGLE_CHROME_SHIM)
options.add_argument("--headless")
options.add_argument("--disable-gpu")
if ua:
print('ua block33')
mobile_emulation = {"deviceName": "iPad Mini"}
options.add_experimental_option("mobileEmulation", mobile_emulation)
return webdriver.Chrome(executable_path=CHROMEDRIVER_PATH, chrome_options=options)
def some_long_calculation():
driver = create_chromedriver('test')
# driver = create_chromedriver()
print(driver.capabilities['version'])
print(driver.capabilities['version'])
driver.get("https://www.yahoo.com/")
print(1)
png = driver.get_screenshot_as_png()
driver.close()
# return 'a'
return png …
Run Code Online (Sandbox Code Playgroud) @BeforeSuite
在之前@BeforeMethod
执行之后停止执行。(alwaysRun=true)
我在每种情况下都使用。它不会执行套件中的其他测试用例。我收到错误消息:
测试被忽略。
@BeforeMethod(alwaysRun=true)
public void launchBrowser() throws Exception
{
browser = BrowserFactory.launch(BrowserType.CHROME);
logger.info("Browser Launched");
}
@AfterMethod(alwaysRun=true)
public void closeBrowser() throws Exception
{
browser.close();
}
@AfterSuite(alwaysRun=true)
public static void tearDown() throws Exception
{
Reporter.generateReport();
SDK.cleanup();
}
Run Code Online (Sandbox Code Playgroud) 我们可以在POM中添加gecko驱动程序,即驱动程序或chrome驱动程序作为depandancy吗?我试图搜索但无法在https://mvnrepository.com/artifact上对它们进行处理.他们没有被放置在maven存储库的任何原因?
我使用 selenium 将出生日期发送到输入元素,数据正在 Chrome 和 Edge 中输入,但在 Firefox 中,该输入元素有一个内置的日期选择器,我无法检查该默认日期选择器(右键单击在 datePicker 上不起作用)并且找不到任何代码)。输入元素未获取值,并且我无法获取 html 元素,因此无法填充该字段。
谁能帮我这个?
我有一个包含 3 个类的元素,我需要用 selenium 找到它
<button style="padding:2px 7px; background-color:#4caeea"
class="btn btn-xs btn-custom" </button>
Run Code Online (Sandbox Code Playgroud)
我找不到它: By.classname("btn btn-xs btn-custom")
我不想使用xpath 和 cssSelector。我还有什么其他选择?
我有几个字段,我从HTML
页面解析并添加到我的report
:
extentTest.log(Status.INFO, String.format(
"Add new record into database (%s)",
"{\n" +
" Name = name, \n".replace("name", name) +
" Description = description, \n".replace("description", description) +
" Language = language, \n".replace("language", language) +
" Time = time, \n".replace("time", time) +
"}"));
Run Code Online (Sandbox Code Playgroud)
因此,不要在我的 HTML 报告中看到这种格式的内容:
Document{{
Name = 5967745223993a32646baab8,
Description = "bla bla,
Language = en,
Time = "2534
}}
Run Code Online (Sandbox Code Playgroud)
是这样看的(没有换行):
文档{{名称 = 5967745223993a32646baab8,描述 = MongoDB,语言 = en,时间 = "2534 }}
有什么建议 ?
线程函数中的Java代码:
System.setProperty("webdriver.chrome.driver", "/usr/bin/chromedriver");
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--no-sandbox");
chromeOptions.addArguments("--user-data-dir="+config.chromeUserDir);
chromeOptions.addArguments("--profile-directory="+profile);
chromeOptions.addArguments("--start-maximized");
WebDriver driver = new ChromeDriver(chromeOptions);
driver.get("https://www.google.com");
Run Code Online (Sandbox Code Playgroud)
并使用以下代码创建对象并在线程中启动
Driver d1 = new Driver(profile);
d1.start();
Driver d2 = new Driver(profile1);
d1.start();
Run Code Online (Sandbox Code Playgroud)
已经创建了两个不同的配置文件,代码在单线程下运行良好,但在多线程下它不会在两个单独的窗口中打开谷歌网站。它说,
Starting ChromeDriver 2.42.591071 (0b695ff80972cc1a65a5cd643186d2ae582cd4ac) on port 25692
Only local connections are allowed.
Starting ChromeDriver 2.42.591071 (0b695ff80972cc1a65a5cd643186d2ae582cd4ac) on port 25954
Only local connections are allowed.
Oct 14, 2018 2:10:46 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
Oct 14, 2018 2:10:46 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
Created new …
Run Code Online (Sandbox Code Playgroud) 主要区别在于,在GUI基和非GUI基(Headless)上执行。
我正在寻找所有无头浏览器之间的差异,但是很遗憾,我没有找到任何差异。我一个接一个地讲,这使我更加困惑。如果有人可以分享具有差异的简短信息,那就太好了,这很清楚。
selenium headless headless-browser selenium-webdriver htmlunit-driver
我想selenium
运行一个无头的google chrome实例来挖掘某些网站的数据,而无需添加UI。我从此处下载了chromedriver可执行文件,并将其复制到当前的脚本目录中。该驱动程序似乎可以很好地使用硒,并且可以自动浏览,但是我似乎找不到无头的选项。在线使用selenium
无头镀铬的大多数示例遵循以下原则:
import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.binary_location = '/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary'`
driver = webdriver.Chrome(executable_path=os.path.abspath(“chromedriver"), chrome_options=chrome_options)
driver.get("http://www.duo.com")`
Run Code Online (Sandbox Code Playgroud)
但是,当我使用命令检查Selenium Webdriver的可能参数时,chromedriver -h
我得到的是:
D:\Jobs\scripts>chromedriver -h
Usage: chromedriver [OPTIONS]
Options
--port=PORT port to listen on
--adb-port=PORT adb server port
--log-path=FILE write server log to file instead of stderr, increases log level to INFO
--log-level=LEVEL set log level: ALL, DEBUG, INFO, WARNING, …
Run Code Online (Sandbox Code Playgroud) selenium google-chrome python-3.x selenium-chromedriver selenium-webdriver