繁体   English   中英

Java Selenium - 如何点击没有ID的按钮链接元素?

Java Selenium - How to click on a button link element with no ID?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我一直试图让 WebDriver 通过 xpath 找到元素,并直接使用按钮后面的 href 链接,但无济于事。 到目前为止,这是我的代码:

package mavensample;

import.java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class mavensample {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "chromedriverpath";
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.manage().deleteAllCookies();
driver.manage().timeouts().pageLoadTimeout(40, Timeunit.SECONDS);
driver.manage().timeouts().implicitlyWait(40, Timeunit.SECONDS);
driver.get("https://initialLink.net/");
driver.findElement(By.cssSelector("a[href='https://censoredlink.net/')]"));
}}

这是我在检查时获得的元素信息: a href="https://censoredlink.net/" class="btn btn-sm btn-light mb-1" target="_blank">QA

我通常会通过文本定位元素,但是对于不同的环境有多个不同的 QA 按钮。 我尝试使用 CssSelector 并直接输入链接,但这也不起作用。

任何帮助深表感谢!

2 个回复

如果https://censoredlink.net/href属性的唯一值,您可以尝试以下 XPath:

driver.findElement(By.xpath("//a[@href='https://censoredlink.net/']"))

或使用 CssSelector

driver.findElement(By.cssSelector("a[href='https://censoredlink.net/']"))

UPD
我猜你错过了等待。 我的意思是你需要等待元素被加载才能访问它。 最好的方法是使用WebDriverWait
也有可能该元素位于 iframe 等内部。
我们需要看到那个页面......

您的css selector中存在拼写错误。 你需要删除)这个

而不是这个

driver.findElement(By.cssSelector("a[href='https://censoredlink.net/')]"));

应该是

driver.findElement(By.cssSelector("a[href='https://censoredlink.net/']"));
1 没有ID Selenium Java的单击按钮

对此表示歉意; 事件触发 相片 推送通知 例如,如何使用Selenium Java单击事件触发器? 我已经试过这段代码: By.xpath(“ // button [contains(text(),'Event triggers')]”)); By.xpat ...

2015-12-31 19:13:58 4 1499   selenium
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM