运行我的测试时出现此错误:org.openqa.selenium.StaleElementReferenceException:元素不再附加到DOM
关于如何解决上述异常的任何想法?这发生在我的网格中,它有一个动态的ref Xpath表达式
我已经在网上搜索了WebDriver API.我没有看到使用WebDriver/Selenium2.0打开新标签的方法.
有人可以确认我是对的吗?
谢谢,克里斯.PS:我看到的当前替代方案是在同一窗口中加载不同的URL或打开新窗口.
如果我的webdriver测试失败(任何异常或断言错误),我想自动捕获屏幕截图.我正在使用Python unittest和Selenium Webdriver.有没有人有这个问题的解决方案?
我在各种平台上使用Selenium Java和Firefox Web Driver开展了许多项目.我一次又一次地遇到了我们使用的Selenium WebDriver版本和安装的Firefox版本之间的不兼容性.
当然,第一道防线是确保我们使用最新版本的WebDriver和最新版本的FireFox.
有时,这是不可能的,因为我们使用的是旧版本的Java,或者仅仅因为阻力最小的路径是使用随OS一起分发的Firefox版本.
我真的希望有一个可靠的兼容性矩阵,告诉我哪个版本的Firefox可以与哪个版本的Selenium WebDriver一起使用.我在哪里可以找到一个?
概述: Chromedriver在一台机器上正常工作,但在另外两台相同的机器上工作速度非常慢.
建立:
我的本地网络上有三台32位Win 7远程计算机(其中两台是虚拟的)都配置为节点.以下是用于启动远程计算机上的节点的命令:
java -jar c:\ seleniumWebDriver\seleniumGrid\selenium-server-standalone-2.31.0.jar -role node -hub http://XXX.XXX.XXX.XXX:4444/grid/register -browser"browserName = chrome" ,maxInstances = 4 -Dwebdriver.chrome.driver ="C:\ seleniumWebDriver\chromedriver.exe"
驱动程序在代码中以这样的方式启动:
DesiredCapabilities capability = new DesiredCapabilities(); capability.SetCapability(CapabilityType.BrowserName,browser); driver = new RemoteWebDriver(new Uri(hubUrl),capability);
上面的变量"browser"和"hubUrl"通过在运行时构建的app.config文件传递.对于这种情况,浏览器= chrome.
问题:
当我使用上面的命令将机器212(它是一个虚拟机)设置为chrome节点,然后从集线器启动脚本时,我在正确的远程机器上看到chrome start并正常运行.它每秒在5-10个命令之间.
当我以相同的方式将机器78(虚拟机)或机器103(真实机器)设置为节点,然后从集线器启动脚本时,我看到节点正确地启动了chrome.但是,它运行速度非常慢,如每秒1次或更少.
其他信息: 就像我说的,在一台机器上镀铬工作正常,但在其他机器上,运行速度非常慢.Firefox和IE配置为节点时,可以正常工作.
我已将机器212(工作正常)与其他机器进行了比较,但无法找到差异.所有机器都使用'selenium-server-standalone-2.31.0.jar'和相同版本的ChromeDriver.
似乎节点机器没有被重载.此外,这是一个非常一致的性能差异,似乎与网络或机器上的任何波动负载无关.
我的网络技术已经验证所有这些机器在网络上配置相同.
以前有人见过这样的事吗?
编辑1:我今天登录,所有三台远程机器都在缓慢运行chrome.在其中一个是正常的之前,但现在他们都很慢.
mstest webdriver selenium-grid selenium-chromedriver selenium-webdriver
我在Java中使用Selenium Webdriver.我想在点击"下一步"按钮后从第1页到第2页获取当前网址.这是我的代码:
WebDriver driver = new FirefoxDriver();
String startURL = //a starting url;
String currentURL = null;
WebDriverWait wait = new WebDriverWait(driver, 10);
foo(driver,startURL);
/* go to next page */
if(driver.findElement(By.xpath("//*[@id='someID']")).isDisplayed()){
driver.findElement(By.xpath("//*[@id='someID']")).click();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='someID']")));
currentURL = driver.getCurrentUrl();
System.out.println(currentURL);
}
Run Code Online (Sandbox Code Playgroud)
在获取当前url之前,我有隐式和显式等待调用以等待页面完全加载.但是,它仍然打印出第1页的网址(预计它将成为第2页的网址).
错误是:
TypeError: WebDriver.__init__() got multiple values for argument 'options'
Run Code Online (Sandbox Code Playgroud)
`
代码是:
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
browser = webdriver.Chrome(r'/usr/bin/chromedriver', options=chrome_options)
Run Code Online (Sandbox Code Playgroud)
这是错误:
TypeError Traceback (most recent call last)
<ipython-input-5-9a7e59e392ae> in <cell line: 6>()
4 chrome_options.add_argument('--headless')
5
----> 6 browser = webdriver.Chrome(r'/usr/bin/chromedriver', options=chrome_options)
TypeError: WebDriver.__init__() got multiple values for argument 'options'
Run Code Online (Sandbox Code Playgroud) python webdriver python-3.x selenium-chromedriver selenium-webdriver
我想获得selenium推出的浏览器的PID.有没有办法完成它?
使用Chrome Selenium-WebDriver时,它将在服务器启动时输出诊断输出:
在端口9515上启动ChromeDriver(v2.0)
我不想看到这些消息,我怎么能抑制它们呢?
我这样做
ChromeOptions options = new ChromeOptions();
options.AddArgument("--silent");
IWebDriver Driver = new ChromeDriver(options);
Run Code Online (Sandbox Code Playgroud)
但诊断输出不会被抑制.
c# selenium webdriver selenium-chromedriver selenium-webdriver
我将测试一个网络应用程序.我的表格中有一个按钮可供选择所有条目.我试过了:
driver.wait.until(ExpectedCondition.element_to_be_clickable((By.XPATH, "myXpath"))).click()
Run Code Online (Sandbox Code Playgroud)
selenium点击按钮,但没有任何反应.(还有send_Keys(Keys.Return))应用程序是用GXT开发的,我的事情是按钮背后有很多javascript.是否有可能等到事件加载器准备好了?在点击之前等待解决问题,但不是自动化测试的解决方案.
webdriver ×10
selenium ×7
java ×4
python ×3
c# ×1
click ×1
firefox ×1
mstest ×1
paging ×1
python-3.x ×1
screenshot ×1
selenium-rc ×1
testing ×1