我似乎找不到任何关于如何让Selenium以隐身模式打开浏览器的文档.
我是否必须在浏览器中设置自定义配置文件或?
我想点击一个单选按钮,出现在网页上.代码如下:
HTML代码:
<div class="small-checkbox red-theme raleway-regular text-muted2 position-relative">
<div class="city-checkbox inline-block position-relative" ng-class="{'rounded-checkbox': main.current_city_id == 1, 'mb-20': main.ifDeviceIsPhone}">
<label class="mdl-radio mdl-js-radio mdl-js-ripple-effect mh-20" for="mumbaiCity" ng-class="{'is-checked' : main.current_city_id == 1}">
<input type="radio" id="mumbaiCity" class="mdl-radio__button position-relative vertical-middle" name="city" value="1" ng-click="main.setCity('Mumbai', 1)">
<span class="mdl-radio__label position-relative font15"><img class="city-icon" src="../../../assets/img/cities/mumbai-icon.png">Mumbai</span>
</label>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
Tesstcase:
// demo-test.js
describe('Protractor Demo App', function() {
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000000;
it('check item count', function() {
browser.get('<link>');
element(by.id('mumbaiCity')).click();
});
});
Run Code Online (Sandbox Code Playgroud)
此测试通过错误:
1)量角器演示App检查项目计数
信息:
失败:元素不可见
我也尝试过:
element(by.css('[ng-click="main.setCity('Mumbai', 1)"]')).click();
Run Code Online (Sandbox Code Playgroud)
它给出了错误:
[16:16:26] E/launcher - 错误:SyntaxError:missing)参数列表后面 …
我刚刚将selenium IDE代码导出到selenium web驱动程序.我发现许多在IDE中工作的命令无法工作或者selenium web驱动程序声称根本不支持.到目前为止,我一直在解决这些问题,这个问题不太理想......
目前我正在努力找出为什么单击按钮不能与web驱动程序一起工作,因为它之前曾在selenium IDE中工作过.我的浏览器是FF 13,我的操作系统是Ubuntu.
代码片段
WebElement loginButton = driver.findElement(By.name("submit"));
loginButton.click();
Run Code Online (Sandbox Code Playgroud)
我之前尝试过
driver.findElement(By.name("submit")).click();
Run Code Online (Sandbox Code Playgroud)
但是上面的线路也失败了.该元素已被选中,但它不会按我的意愿登录.我发现其他页面有类似的问题,但他们的问题似乎是Internet Explorer而不是Firefox.我甚至不想考虑IE将给我带来的问题.
谢谢,
PS关于从selenium IDE迁移到Selenium Webdriver而不会丢失我编写的所有测试的更好方法的提示也可以解决这个问题.
<div id="a">This is some
<div id="b">text</div>
</div>
Run Code Online (Sandbox Code Playgroud)
获得"这是一些"并非易事.例如,这会返回"This is some text":
driver.find_element_by_id('a').text
Run Code Online (Sandbox Code Playgroud)
一般来说,如何在不包含其子项文本的情况下获取特定元素的文本?
(我在下面提供了一个答案,但是如果有人能提出一个不那么可怕的解决方案,那么问题会保持开放).
我在python中使用Selenium时收到以下错误:
selenium.common.exceptions.StaleElementReferenceException: Message: u'stale element reference: element is not attached to the page document\n
Run Code Online (Sandbox Code Playgroud)
有趣的是,错误在for循环中的不同时间弹出.有时它通过例如.4次迭代和其他时间,例如.7.
正在运行的一些相关代码是:
for i in range(0, 22):
u = driver.find_elements_by_id("data")
text = u[0].get_attribute("innerHTML")
driver.find_elements_by_class_name("aclassname")[0].click()
Run Code Online (Sandbox Code Playgroud)
这个错误意味着什么,我可以尝试解决这个问题?
我目前正在开发WebApp,它有很多Angular js ......我们开始使用Selenium WebDriver并且脚本可以很好地使用刮擦代码......但我建议我们需要使用量角器而不是Selenium WebDriver.至于两者都为我做同样的工作.我发现的唯一区别是我不想明确等待加载网页..
Protractor Vs Selenium WebDriver还有其他优点或缺点吗?
我有一个 Selenium 脚本(Python),它点击回复按钮使anonemail类出现。anonemail 类出现的时间各不相同。因此,我必须使用 sleep 直到元素出现。
我想等到课程出现而不是使用睡眠。我听说过等待命令,但我不知道如何使用它们。
这是我迄今为止所拥有的:
browser.find_element_by_css_selector(".reply-button").click()
sleep(5)
email=browser.find_element_by_css_selector(".anonemail").get_attribute("value")
Run Code Online (Sandbox Code Playgroud) python selenium selenium-webdriver webdriverwait expected-condition
<div>
<iframe id="cq-cf-frame ">
<iframe id="gen367">
<body spellcheck="false" id="CQrte" style="height: 255px; font-size: 12px; font-family:tahoma,arial,helvetica,sans-serif; background-image: url("/libs/cq/ui/widgets/themes/default/ext/form/text-bg.gif"); background-repeat: repeat-x; background-attachment: fixed;">
<p>4t43t4<br></p>
</body >
</iframe>
</iframe>
</div>
Run Code Online (Sandbox Code Playgroud)
在这种情况下有一个iframe下iframe.而且我必须选择外部iframe去内部iframe并写入内部的身体iframe.
接下来,我必须从内iframe到外出来iframe并单击OK按钮(位于外部iframe).
以下是我的代码
/*Line 1 */ driver.switchTo().frame("cq-cf-frame");
/* 2 */ driver.findElement(By.css("#extdd-9 > div.tblRow > input.edititem").click();
/* 3 */ driver.switchTo().Frame("cq-gen379");
/* 4 */ driver.findElement(By.id("CQrte").sendKeys("Tnx");
/* 5 */ selenium.selectFrame("relative=up");
/* 6 */ driver.findElement(By.xpath("//button[text()='OK']")).click();
Run Code Online (Sandbox Code Playgroud)
以下是我的问题:
我的测试代码工作正常,直到第4行,即写入正文,但我想从内到外出来,iframe它说//button[text()='OK']找不到元素.
我尝试使用索引,父,亲,但没有运气. …
我们如何使用带有node.js的Selenium WebDriver(Selenium 2)来最大化firefox浏览器.我正在使用wdSelenium WebDriver的包来编写测试.我曾尝试执行window.resizeTo(1366,768);全光照eval或execute但没有奏效.
我正在使用Selenium WebDriver 2.25.0
在Python Selenium模块中,一旦我有了一个WebElement对象,我就可以获得它的任何属性的值get_attribute():
foo = elem.get_attribute('href')
Run Code Online (Sandbox Code Playgroud)
如果名为'href'不存在的属性,None则返回.
我的问题是,如何获得元素具有的所有属性的列表?似乎没有get_attributes()或get_attribute_names()方法.
我正在使用Selenium模块的2.44.0版本用于Python.
selenium ×7
python ×5
html ×2
protractor ×2
angularjs ×1
browser ×1
dom ×1
firefox ×1
iframe ×1
java ×1
javascript ×1
selenium-ide ×1