我有一个带复选框的div,每次检查其中任何一个之前我都要确保它们先被清除.关于我怎么做的任何输入?
由复选框组成的div的HTML代码是
<div class="row_bus_groups cuke_business_group">
<div class="row">
<input class="field_checkbox cuke_partners" type="checkbox" id="SelectedBusinessGroups[0]" name="SelectedBusinessGroups[0]" value="Partners">
<label for="SelectedBusinessGroups[0]"><span class="translated_text" rel="BusinessGroups.Partners">Partners</span></label>
<input type="hidden" name="SelectedBusinessGroups[0]" value="">
</div>
<div class="row">
<input class="field_checkbox cuke_press" type="checkbox" id="SelectedBusinessGroups[1]" name="SelectedBusinessGroups[1]" value="Press">
<label for="SelectedBusinessGroups[1]"><span class="translated_text" rel="BusinessGroups.Press">Press</span></label>
<input type="hidden" name="SelectedBusinessGroups[1]" value="">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我试过了
@browser.div(:class, "cuke_business_group").checkbox.each{ |all| all.clear }
Run Code Online (Sandbox Code Playgroud) 我有这个 div:
<div id="loadDIV" class="containerLogo" onclick="ventanaSecundaria('/bienvenido.php',800,600); "></div>
Run Code Online (Sandbox Code Playgroud)
如何使用 watir gem 在 div 内运行 onclick 事件?
class = containerLogo 在浏览器上显示徽标。当您单击该徽标时,您将运行脚本“ventanaSecundaria”,它会打开另一个包含 bienvenido.php 内容的窗口。尝试使用机械化和 nokogiri 宝石无济于事,他们建议尝试 watir gem。
有没有办法通过它包含的文本找到元素?
鉴于:
<div>foobar</div>
browser.div(text: contains('foo')).present?
# => true
Run Code Online (Sandbox Code Playgroud) 我似乎无法忽略使用带有Watir 6.2.0的Firefox驱动程序的任何证书警告.这是意外行为,还是我没有正确使用API?
示例代码:
require 'watir'
profile = Selenium::WebDriver::Firefox::Profile.new
profile.assume_untrusted_certificate_issuer = false
browser = Watir::Browser.new(:firefox, :profile => profile)
browser.goto 'https://self-signed.badssl.com/
Run Code Online (Sandbox Code Playgroud)
出乎意料的结果:
/Users/bshannon/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.3.0/lib/selenium/webdriver/remote/response.rb:69:in `assert_ok': Selenium::WebDriver::Error::UnknownError
from /Users/bshannon/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.3.0/lib/selenium/webdriver/remote/response.rb:32:in `initialize'
from /Users/bshannon/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.3.0/lib/selenium/webdriver/remote/http/common.rb:83:in `new'
from /Users/bshannon/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.3.0/lib/selenium/webdriver/remote/http/common.rb:83:in `create_response'
from /Users/bshannon/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.3.0/lib/selenium/webdriver/remote/http/default.rb:107:in `request'
from /Users/bshannon/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.3.0/lib/selenium/webdriver/remote/http/common.rb:61:in `call'
from /Users/bshannon/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.3.0/lib/selenium/webdriver/remote/w3c_bridge.rb:620:in `execute'
from /Users/bshannon/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.3.0/lib/selenium/webdriver/remote/w3c_bridge.rb:126:in `get'
from /Users/bshannon/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.3.0/lib/selenium/webdriver/common/navigation.rb:32:in `to'
from /Users/bshannon/.rvm/gems/ruby-2.4.0/gems/watir-6.2.0/lib/watir/browser.rb:78:in `goto'
from /Users/bshannon/Desktop/test.rb:8:in `<main>'
Run Code Online (Sandbox Code Playgroud)
环境:
Watir 6.2.0
Selenium Webdriver 3.3.0
Geckodriver 0.15
Firefox 52.0
Mac OSX
Run Code Online (Sandbox Code Playgroud) 我正在编写一个Python脚本来一次打开多个网页,然后进行搜索。Python 会一一打开它们,但速度慢得令人痛苦。我在 Chrome 中打开了 12 个选项卡。下面是我用来在 Chrome 内的每个网站的新选项卡中打开网站的代码。有什么建议么?(使用 PyCharm、Python 3.5)
driver.get('https://www.website1.com')
driver.execute_script("window.open('');") # opens new tab
driver.switch_to.window(driver.window_handles[1])
driver.get('website2.com')
driver.execute_script("window.open('');") # opens new tab
driver.switch_to.window(driver.window_handles[2])
driver.get('website3.com')
Run Code Online (Sandbox Code Playgroud) 我是selenium的新手,所以我一直在使用IDE来创建测试.我有这个问题,Selenium看到一个与下拉菜单关联的按钮,但它不会单击该按钮.为了解决这个问题,我希望Selenium在火狐的地址栏中键入URL(我想点击的按钮),或者我希望selenium只是通过一些命令转到所说的URL,但我找不到所说的命令,我无法让Selenium点击并输入地址栏.
当我用Cucumber运行我的第一个测试文件时,我得到了这个例外如何解决这个问题?
Exception in thread "main" cucumber.runtime.CucumberException: Error parsing feature file D:/intalled/CucumberConcepts/src/cucumber/features/myfeature.feature
at cucumber.runtime.FeatureBuilder.parse(FeatureBuilder.java:123)
at cucumber.runtime.model.CucumberFeature.load(CucumberFeature.java:52)
at cucumber.runtime.model.CucumberFeature.load(CucumberFeature.java:33)
at cucumber.runtime.RuntimeOptions.cucumberFeatures(RuntimeOptions.java:143)
at cucumber.runtime.Runtime.run(Runtime.java:107)
at cucumber.api.cli.Main.run(Main.java:26)
at cucumber.api.cli.Main.main(Main.java:16)
Run Code Online (Sandbox Code Playgroud)
引起:gherkin.lexer.LexingError:第1行的Lexing错误:'功能:我的框架工作的概念证明
Feature : Proof of concept that my framework works
Scenario Outline : My first Test
Given this is my first test
When This is my second step
Then This is the final step
Run Code Online (Sandbox Code Playgroud) 如何在ruby代码中将字符串分成两行?有特定的符号吗?
def my_def
path = "//div/p[contains(., 'This is a veeeeeeeryyyyyy looooonggggg string')]"
end
Run Code Online (Sandbox Code Playgroud)
我希望做出类似的事情:
def my_def
path = "//div/p[contains(., 'This is a veeeeeeeryyyyyy
looooonggggg string')]"
end
Run Code Online (Sandbox Code Playgroud)
我在浏览器堆栈上测试我的案例时遇到问题。我面临的问题重现不一致。
为了让我的代码等待元素加载,我使用如下:
gift_no_btn1 = Capybara.find('giftingNoButton')
gift_no_btn1.click
Run Code Online (Sandbox Code Playgroud)
这里的问题是屏幕卡在另一个模块中,我的预期元素未加载,因此我的脚本失败。我读到在 Capybara 2.0 中 find() 方法被替换为 wait_untill 方法。
我有一个简单的问题让我很难过.我正在使用Bootstrap创建一个导航栏,我试图改变它的颜色,但我不能.
JSP
<nav class="navbar navbar-inverse navbar-static-top" role="navigation">
Run Code Online (Sandbox Code Playgroud)
CSS
navbar-inverse {
background-color:whatever;
}
Run Code Online (Sandbox Code Playgroud)
我在CSS中做错了吗?
ruby ×6
automation ×3
cucumber ×3
watir ×3
selenium ×2
capybara ×1
css ×1
eclipse ×1
geckodriver ×1
html ×1
jsp ×1
python ×1
python-3.x ×1
rspec ×1
rubygems ×1
selenium-ide ×1
string ×1
testing ×1
xpath ×1