gpt4 book ai didi

java - 下拉点击在 Selenium RC 中不起作用

转载 作者:行者123 更新时间:2023-12-01 14:43:25 25 4
gpt4 key购买 nike

我正在尝试在 selenium 中自动化测试脚本。 要自动化的 Activity 场景:

  1. 它应该首先自动打开一个页面 URL。
  2. 点击左侧导航。
  3. 然后页面会填充一个下拉列表,它应该从下拉列表中选择一个固定值(例如 = 公司)
  4. 点击页面底部的创建按钮。

在我的例子中,代码一直有效,直到下拉列表的数量为止,但之后代码无法单击创建按钮作为下一步操作。我在命令控制台中收到的错误消息如下:

Element name = create not found on session c48334c30....96ed

这是我的代码:

public class testing {

Selenium selenium = null;

@Test
public void submit() throws Exception {
selenium = new DefaultSelenium("localhost", 4545, "*firefox", "URL");
selenium.start();
selenium.open("URL");
selenium.windowFocus();
selenium.windowMaximize();
selenium.click("link=Work with company names");
selenium.waitForPageToLoad("30000");
selenium.select("//select[@name='company_id']", "label=company");
selenium.waitForPageToLoad("3000");
selenium.click("name = create");

}
}

请向我提供解决此问题的建议,因为我无法理解为什么无法单击名为“创建”的按钮。我还尝试使用 selenium.click("xpath=//button[matches(@id,'.*create')]"); 而不是 selenium.click("name = create") 但效果不佳。

请告诉我此错误可能是什么问题以及如何解决?谢谢。

最佳答案

1) 如果您提供页面的 html 代码就好了。

2) 在单击任何元素(在执行某些操作后加载)之前,我建议使用 WaitForElementPresent (来自 Selenium IDE),即确保该元素确实存在。 Selenium 的工作速度相当快,它可能会在元素实际加载之前尝试单击该元素。

你可以使用这样的东西:

public bool waitForElementPresent(string Xpath) {
bool present = false;
for (int second = 0; ; second++) {
if (second >= 5) {
break;
}
if (IsElementPresent(Xpath)) {
present = true;
break;
}
Thread.Sleep(1000);
}
return present;
}

关于java - 下拉点击在 Selenium RC 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15714128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com