为什么我找不到使用类名的元素?

2024-10-01 09:20:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图找到这个按钮并点击它。 但我得到了这个错误:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".sqdOP  L3NKy   y3zKF     "}
  (Session info: chrome=87.0.4280.88)

我注意到它正在寻找一个不同的字符串'.sqdOP L3NKy y3zKF'bc,它在类名前面添加了这一点。这就是问题所在吗

<button class="sqdOP  L3NKy   y3zKF     " type="button">Follow</button>

谢谢大家!


Tags: nomessageselenium错误buttonelementcommon按钮
2条回答

如果没有具有相同类名的按钮,您也可以使用此按钮找到它: driver.find_element_by_class_name("sqdOP")

Selenium不识别类名中的空格(除非您像Villa_7所说的那样),因为它们实际上是“复合类”(参见this postthis one)。我相信这与CSS有关

仅供参考,查看您当前如何尝试选择按钮的代码会很有帮助

如果classname值包含空格,Selenium无法通过点“”定位它 您必须使用此结构:

"[class='sqdOP  L3NKy   y3zKF     ']"

或者尝试使用XPath通过可见文本进行定位:

"//button[text()='Follow']"

如果您得到元素单击拦截异常,请尝试通过JS单击,如下所示:

 public void executeClickJS(WebDriver driver, WebElement webElement) {
    ((JavascriptExecutor) driver).executeScript("arguments[0].click();", webElement);
  }

相关问题 更多 >