Java 已解决:选择依据<;部门>;linktext</部门>;不工作什么都试过了

Java 已解决:选择依据<;部门>;linktext</部门>;不工作什么都试过了,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,它是一个弹出式覆盖,div如下所示: 以后 源代码如下所示: 我想通过cssSelector、className或“稍后”链接文本来查找删除,这都不重要 我试过: By.className(“教程按钮教程按钮ok tt close”) By.cssSelector(“div[class='tutorial-button tutorial button ok tt close']” By.xpath(“/*[contains(text(),'Later')]”) By.xpath(“//a[co

它是一个弹出式覆盖,div如下所示:

以后

源代码如下所示:

我想通过cssSelector、className或“稍后”链接文本来查找删除,这都不重要

我试过:

By.className(“教程按钮教程按钮ok tt close”)

By.cssSelector(“div[class='tutorial-button tutorial button ok tt close']”

By.xpath(“/*[contains(text(),'Later')]”)

By.xpath(“//a[contains(,'Later')]”)


在其他元素上效果很好。请帮助

您可以尝试CSS选择器,如

div.tutorial-button.tutorial-button-ok.tt-close
或者类似XPath的

//div[.='Later']
//div[contains(.,'Later')]

你能把你的问题弄清楚一点吗?你需要更具体地解释“不起作用”的意思。您需要编辑问题并为每次尝试添加错误/异常消息。我可以告诉你第一个,
By.className()
,不起作用,因为当你只能使用1个类名时,你放了3个类名。第二个不是很像CSS。。。它应该是
div.tutorial-button.tutorial button ok.tt close
。第三个可能不起作用,因为有几个元素与该定位器匹配。第四个可能不起作用,因为
A
标记中有其他东西与
contains()
相混淆。请尝试
By.xpath(“//div[.='Later']”)或
By.xpath(//div[contains(,'Later')])
。如果这些不起作用,它可能在
IFRAME
中。一旦你调查了所有这些,编辑你的问题并添加结果。感谢分享你的知识!特别是@JeffC,让事情变得清晰。这个东西对我来说是很新的。
By.xpath(“/*[contains(text(),'Later')”)”
工作了,毕竟我只是把它包装在条件中。我现在觉得自己很愚蠢