【发布时间】:2019-11-20 16:35:17
【问题描述】:
我有以下代码
<button class="jobs-search-box__submit-button artdeco-button artdeco-button--3 ml2" data-ember-action="" data-ember-action-689="689">Search</button>
我想在 selenium 中找到这个元素并执行点击操作。我尝试了几个选项,例如按类、xpath、名称、文本、包含但没有任何效果。 有人可以在这里指导我吗?
driver.findElement(By.xpath("//button[contains(.,'Search']")).click();
driver.findElement(By.className("jobs-search-box__submit-button artdeco-button artdeco-button--3 ml2")).click();
driver.findElement(By.className("//*[@id=\"ember689\"]/button")).click();
driver.findElement(By.linkText("Search")).click();
【问题讨论】:
-
怎么不行?它是否说找不到按钮?我想你在屏幕上看到它?因为根据sqa.stackexchange.com/questions/2696/…,xpath 似乎是正确的。我没有看到 id 或链接,所以我不希望最后两个工作。
-
按类名好像不喜欢三个类,见github.com/seleniumhq/selenium/issues/1480
-
您是否检查过 xpath
//button[contains(.,'Search']是否指向 chrome dev tools 中的正确元素? -
By.cssSelector(".jobs-search-box__submit-button.artdeco-button.artdeco-button--3.ml2") 根据github.com/seleniumhq/selenium/issues/1480
-
@supputuri well //button[contains(.,'Search'] 这不指向任何元素。我在这里遗漏了什么吗?
标签: java selenium selenium-webdriver automation selenium-chromedriver