草庐IT

Watir-webdriver

全部标签

javascript - 将 require('chromedriver).path 直接传递给 selenium-webdriver

tl;dr:有谁知道如何在不设置PATH环境变量的情况下在代码中将chromedriver的路径传递给selenium-webdriver?我正在尝试将selenium-webdriver与chrome一起使用,但不希望物理安装chromedriver并操纵路径。我有以下代码:varwebdriver=require('selenium-webdriver');vardriver=newwebdriver.Builder().withCapabilities(webdriver.Capabilities.chrome()).build();没有在路径中设置chromedriver,这会

javascript - 设置输入值而不是 sendKeys() - Selenium WebDriver nodejs

我有一个很长的字符串要测试,而sendKeys()需要的时间太长。当我尝试设置text的值时,程序崩溃了。我知道SeleniumsendKeys()是测试实际用户输入的最佳方式,但对于我的应用程序来说它需要太多时间。所以我试图避免它。有没有办法立即设置值?看这个简单的例子:varwebdriver=require('selenium-webdriver');vardriver=newwebdriver.Builder().withCapabilities(webdriver.Capabilities.chrome()).build();driver.get('http://www.go

javascript - 设置输入值而不是 sendKeys() - Selenium WebDriver nodejs

我有一个很长的字符串要测试,而sendKeys()需要的时间太长。当我尝试设置text的值时,程序崩溃了。我知道SeleniumsendKeys()是测试实际用户输入的最佳方式,但对于我的应用程序来说它需要太多时间。所以我试图避免它。有没有办法立即设置值?看这个简单的例子:varwebdriver=require('selenium-webdriver');vardriver=newwebdriver.Builder().withCapabilities(webdriver.Capabilities.chrome()).build();driver.get('http://www.go

Selenium webdriver的无头模式(headless)可能导致cookies内容缺失,以及解决措施

无头模式(headless)是selenium的webdriver浏览器驱动的一项功能,允许浏览器不出现而仍可访问网页,并与之交互,这对于运行自动化测试或网络抓包大有用处,因为运行速度更快、占用资源更少。但是笔者发现在无头模式下运行时,浏览器访问某些网站产生的cookies内容可能与在正常模式(非无头模式)下略有不同。因为某些网站使用技术来检测是否被无头浏览器访问,并可能通过设定不同的cookie或以其他方式表现不同来做出响应。为了说明这种差异,我们可以使用Python中的SeleniumWebDriver库运行一个简单的实验。首先,我们将创建两个Chrome浏览器实例——一个在无头模式下,另

selenium - Docker 容器中的 Firefox 可从另一个容器中的 selenium 访问

我有一个运行Rails应用程序的docker容器(我们称之为容器A),它需要使用Firefox作为后端使用watirwebdriver进行一些抓取。我在另一个容器(容器B)中安装了firefox,我希望能够在容器A中传递类似:Selenium::WebDriver::Firefox::Binary.path=$DOCKER_RUN_CONTAINER_A因此,每次watir启动firefox时,一个新的CONTAINER_A实例都会启动一个新的firefox。我知道让容器使用端口进行通信很容易,但是可执行文件呢?而且,顺便说一句,将Firefox隔离在一个单独的容器中看起来是不是一个不

selenium - Docker 容器中的 Firefox 可从另一个容器中的 selenium 访问

我有一个运行Rails应用程序的docker容器(我们称之为容器A),它需要使用Firefox作为后端使用watirwebdriver进行一些抓取。我在另一个容器(容器B)中安装了firefox,我希望能够在容器A中传递类似:Selenium::WebDriver::Firefox::Binary.path=$DOCKER_RUN_CONTAINER_A因此,每次watir启动firefox时,一个新的CONTAINER_A实例都会启动一个新的firefox。我知道让容器使用端口进行通信很容易,但是可执行文件呢?而且,顺便说一句,将Firefox隔离在一个单独的容器中看起来是不是一个不

selenium-webdriver - 试图从 Selenium docker 内部访问 localhost

我正在尝试使用Seleniumdocker运行我的测试,我有一个在9000端口上运行的本地grunt服务器,我启动了以下seleniumdocker:dockerrun-d-p4444:4444-p5900:5900selenium/standalone-chrome-debug然后我启动了我的测试(使用Capybara)并打开VNC来观看测试,但我得到的只是chromemessgae“无法访问此站点”。cabybara.rb:isWindows=(/cygwin|mswin|mingw|bccwin|wince|emx/=~RUBY_PLATFORM)!=nilrequire'cap

selenium-webdriver - 试图从 Selenium docker 内部访问 localhost

我正在尝试使用Seleniumdocker运行我的测试,我有一个在9000端口上运行的本地grunt服务器,我启动了以下seleniumdocker:dockerrun-d-p4444:4444-p5900:5900selenium/standalone-chrome-debug然后我启动了我的测试(使用Capybara)并打开VNC来观看测试,但我得到的只是chromemessgae“无法访问此站点”。cabybara.rb:isWindows=(/cygwin|mswin|mingw|bccwin|wince|emx/=~RUBY_PLATFORM)!=nilrequire'cap

python - Phantomjs Selenium WebDriver 中的自定义 header

根据this现在可以修改标题。Atm我需要在PhantomJSwebdriver中修改Accept-Language。此代码不起作用DesiredCapabilities.PHANTOMJS['phantomjs.page.customHeaders.Accept-Language']='ru-RU'driver=webdriver.PhantomJS()是否有可能以某种方式配置Phantomjs以发送我的header?我不在乎在哪里:在ghostdriver、phantomjs或phantomjs-webdriver中。 最佳答案

python - Phantomjs Selenium WebDriver 中的自定义 header

根据this现在可以修改标题。Atm我需要在PhantomJSwebdriver中修改Accept-Language。此代码不起作用DesiredCapabilities.PHANTOMJS['phantomjs.page.customHeaders.Accept-Language']='ru-RU'driver=webdriver.PhantomJS()是否有可能以某种方式配置Phantomjs以发送我的header?我不在乎在哪里:在ghostdriver、phantomjs或phantomjs-webdriver中。 最佳答案