【发布时间】:2018-08-01 15:01:26
【问题描述】:
我是 Web 自动化的新手,我想从一个简单的问题开始。
我正在 Chrome 中使用 Selenium Webdriver。 我测试的每个页面上都有一个按钮:
<button class="next_btn btn green">Btn</button>
我第一次必须编写以下语法才能使其工作:
driver.findElement(By.xpath("//button[contains(.,'Btn')]")).click();
其他 xpath 不起作用。下次我不得不使用这个:
driver.findElement(By.xpath("//*[@id=\'formtop\']/div/form/div/fieldset[2]/div[2]/button[2]")).click();
下一页上的同一个按钮不会接受任何内容。
我试过了:
WebElement stupidBtn = driver.findElement(By.xpath("//*[@id=\'formtop\']/div/form/div/fieldset[3]/div[2]/button[2]"));
stupidBtn.click();
driver.findElement(By.xpath("//*[@id=\'formtop\']/div/form/div/fieldset[3]/div[2]/button[2]")).click();
WebElement stupidBtn = driver.findElement(By.xpath("//*[@id=\'formtop\']/div/form/div/fieldset[3]/div[2]/button[2]"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", stupidBtn);
WebElement stupidBtn = driver.findElement(By.id("//*[@id=\'formtop\']/div/form/div/fieldset[3]/div[2]/button[2]"));
Actions buildAct = new Actions(driver);
buildAct.moveToElement(stupidBtn).click(stupidBtn);
buildAct.perform();
driver.findElement(By.cssSelector("#formtop>div>form>div>fieldset:nth-child(3)>div.multiform_buttons>button.next_btn.btn.green")).click();
总的来说,我想知道我不理解的内容以及为什么我不能始终使用与 Katalon 自动化记录器中相同的语法。不幸的是,KAR 无法满足我的所有需求。
感谢和问候
【问题讨论】:
-
可以给我们网址吗?
-
您无法找到的所有按钮都可能位于 iframe 中。如果您说每个按钮的 HTML 代码都是相同的,并且您能够找到第一个,那么这很可能是罪魁祸首。
-
@Rajagopalan whats2doo.com/en 我目前正在测试 Helper 和 ToDo 设置。你需要一个帐户。谢谢和问候
标签: java selenium selenium-webdriver selenium-chromedriver katalon-recorder