小编Ish*_*hah的帖子

如何在没有ChromeDriver.exe的Maven中使用selenium-chrome-driver

我为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

6
推荐指数
3
解决办法
4万
查看次数

Selenium chrome SessionNotCreatedException,选项卡崩溃

在此输入图像描述

我想用硒和铬测试多个移动用户代理.我正在使用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)

selenium heroku selenium-chromedriver selenium-webdriver

6
推荐指数
0
解决办法
346
查看次数

TestNG - 测试忽略错误消息

@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)

testng

4
推荐指数
1
解决办法
2万
查看次数

我们可以在selenium中添加驱动程序作为maven depandancies

我们可以在POM中添加gecko驱动程序,即驱动程序或chrome驱动程序作为depandancy吗?我试图搜索但无法在https://mvnrepository.com/artifact上对它们进行处理.他们没有被放置在maven存储库的任何原因?

selenium maven selenium-webdriver

3
推荐指数
1
解决办法
1549
查看次数

无法使用 Selenium 将日期放入 Firefox 的 &lt;input type="date"&gt; 字段中

我使用 selenium 将出生日期发送到输入元素,数据正在 Chrome 和 Edge 中输入,但在 Firefox 中,该输入元素有一个内置的日期选择器,我无法检查该默认日期选择器(右键单击在 datePicker 上不起作用)并且找不到任何代码)。输入元素未获取值,并且我无法获取 html 元素,因此无法填充该字段。

谁能帮我这个?

Firefox 的日期选择器

selenium selenium-webdriver

2
推荐指数
1
解决办法
2728
查看次数

如何在硒中找到具有多个类的元素

我有一个包含 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。我还有什么其他选择?

selenium xpath selenium-webdriver

2
推荐指数
1
解决办法
5385
查看次数

Java 和 ExtentReport:如何以 JSON 格式添加新行

我有几个字段,我从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 selenium extentreports

1
推荐指数
1
解决办法
2136
查看次数

多线程:chromedriver 不会在第二个窗口中打开 url

线程函数中的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)

selenium multithreading google-chrome selenium-chromedriver

1
推荐指数
1
解决办法
3200
查看次数

无头浏览器在自动化方面的差异

主要区别在于,在GUI基和非GUI基(Headless)上执行。

我正在寻找所有无头浏览器之间的差异,但是很遗憾,我没有找到任何差异。我一个接一个地讲,这使我更加困惑。如果有人可以分享具有差异的简短信息,那就太好了,这很清楚。

selenium headless headless-browser selenium-webdriver htmlunit-driver

0
推荐指数
1
解决办法
1318
查看次数

--headless在chrome webdriver中不是硒python的选项

我想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

0
推荐指数
2
解决办法
5157
查看次数