Tag: webdriver

如何在python webdriver中为phantomjs / ghostdriver设置代理?

我想弄清楚如何通过HTTP代理路由我的请求。 我正在初始化webdriver像这样: user_agent = 'my user agent 1.0' DesiredCapabilities.PHANTOMJS['phantomjs.page.settings.userAgent'] = user_agent driver = webdriver.PhantomJS() 我已经通过文档和源代码,似乎无法find一种方法来使用代理服务器phantomjs通过webdriver。 有什么build议么?

Jenkins:Selenium GUItesting在Windows上不可见

当我从jenkins(windows)运行我的seleniumtesting(mvntesting)时,我只能看到控制台输出。 我没有看到真正的浏览器打开。 我怎样才能configurationjenkins,让我可以看到运行testing的浏览器?

随机“元素不再附加到DOM”StaleElementReferenceException

我希望这只是我,但seleniumWebdriver似乎是一个完整的噩梦。 Chrome浏览器驱动程序目前无法使用,其他驱动程序是相当不可靠的,或者看起来如此。 我正在和许多问题作斗争,但是这里是一个。 随机地,我的testing将失败与一个 "org.openqa.selenium.StaleElementReferenceException: Element is no longer attached to the DOM System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.6.0_23'" 我正在使用webdriver版本2.0b3。 我已经看到FF和IE驱动程序发生这种情况。 我可以防止这种情况的唯一方法是在发生exception之前将实际的调用添加到Thread.sleep 。 虽然这是一个糟糕的解决方法,所以我希望有人可以指出我的错误,这将使这一切更好。

在Python中处理多个窗口

我正在从事selenium自动化项目 。 在这里,我使用python语言来进行selenium自动化而不是Java。 我面临一个问题,处理多个窗口 情景是当我单击主页中的链接打开一个新的窗口。在新打开的窗口中,我不能执行任何操作,因为控件仍然在主页的Web驱动程序。 任何人都可以在这里粘贴一些代码来将控件从背景窗口集中到新打开的窗口。 一个可能的解决scheme是在库中有self.driver.switchtowindow() 。但它需要一个窗口名称。如何find窗口名称? 如果这是错误的,任何人都可以提供一些代码来执行此操作?

如何在Angularjs量angular器中使用命令行参数?

我正在使用量angular器来执行一些端到端的testing,我想通过命令行传入login凭据,而不是将它们存储在spec文件中。 我发现一个post,有人用process.argv.forEach ,但我怎么能存储这些值,并在另一个spec文件中使用它们? 我有一个名为login-spec.js的文件,我想使用命令行参数。 谢谢!

如何在使用Selenium Webdriver的浏览器上点击<input type = file>?

我正在处理使用Selenium 2 – WebDriver的文件select器对话框。 相信与否,我的问题是不处理操作系统本机文件select器。 我可以处理的那部分! 问题是让Selenium正确点击“select文件”button。 由于原始HTML源代码只是<input type='file'> ,所以浏览器决定了如何将其渲染为一个字段和一个button。 因此,button的位置和命名会根据浏览器而改变。 我已经在Chrome中工作了,但只是因为Chrome将button放在最左边的alignment方式,而Selenium恰好在默认情况下点击了button。 有任何想法吗? 不知道这种types的input是否真的可以从DOM内导航…

如何阻止Selenium使用Web驱动程序创build临时的Firefoxconfiguration文件?

我正在使用Selenium Web Driver API和Java。 每次我想debugging我的testing用例时,都会在临时文件目录中创build一个临时的Firefoxconfiguration文件。 这在两个方面是令人头痛的。 这绝对是花费不必要的时间来创build一个configuration文件,并占用不必要的空间。 我无法安装下一次启动我的testing用例时可用的插件。 我如何解决这个问题?

Selenium可以与现有的浏览器会话进行交互吗?

有人知道Selenium(WebDriver最好)是否能够在启动Selenium客户端之前就已经运行的浏览器进行通信和操作? 我的意思是,如果Selenium能够在不使用Selenium服务器的情况下与浏览器通信(例如可以手动启动Internet Explorer)。

Selenium WebDriver如何解决陈旧的元素引用exception?

我在Selenium 2 Web Drivertesting中有以下代码,当我在debugging时工作,但大部分时间在构build中运行时失败。 我知道这是一定要做的事情,而不是刷新页面的方式,但不知道如何解决它,所以任何指针,我已经做错了赞赏。 我正在使用JSF primefaces作为我的Web应用程序框架。 当我点击添加新链接popup对话框出现一个input框,我可以input一个date,然后点击保存。 它是获取input元素input文本,我得到一个陈旧的元素参考例外。 提前致谢 import static org.junit.Assert.assertEquals; import java.util.HashMap; import java.util.List; import java.util.Map; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.StaleElementReferenceException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.support.ui.ExpectedCondition; import org.openqa.selenium.support.ui.WebDriverWait; public class EnterActiveSubmissionIntegrationTest { Map<String, Map<String, String>> tableData = new HashMap<String, Map<String, String>>(); @Test public void testEnterActiveSubmission() throws Exception { […]

Selenium – Python – 下拉菜单选项值

我需要从下拉菜单中select一个元素。 例如,打开这个: <select id="fruits01" class="select" name="fruits"> <option value="0">Choose your fruits:</option> <option value="1">Banana</option> <option value="2">Mango</option> </select> 所以首先我必须点击它。 我这样做: inputElementFruits = driver.find_element_by_xpath("//select["id='fruits']).click() (好吧,它打开菜单) 我必须select好的元素后,让我们说芒果。 我尝试inputElementFruits.send_keys(…)不同的事情,但它没有奏效。