python - 如何使用 Selenium 和 Python 查找 div 元素

标签 python selenium contenteditable webdriverwait nosuchelementexception

Selenium 无法在网页上找到元素,这里是 python 代码

element = driver.find_element(By.CLASS_NAME, "_13NKt copyable-text selectable-text")

这是它应该找到的元素的图像,突出显示了类

html code

这是错误消息的重要行:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"._13NKt copyable-text selectable-text"}
  (Session info: chrome=103.0.5060.134)

最佳答案

By-strategy By.CLASS_NAME 内部使用 By.CSS_SELECTOR 并简单地在定位器前面加上 . - 这在您的错误信息

{"method":"css selector","selector":"._13NKt copyable-text selectable-text"}

但这对于包含所有这些类的元素来说并不是一个有效的 CSS 选择器,而是必须将它们与 . 进行“连接”(只需将类之间的空格替换为“.”)

所以要么:

driver.find_element(By.CLASS_NAME, "_13NKt.copyable-text.selectable-text")

或者直接使用By.CSS_SELECTOR:

driver.find_element(By.CSS_SELECTOR, "._13NKt.copyable-text.selectable-text")

唯一的区别是前导

关于python - 如何使用 Selenium 和 Python 查找 div 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73137633/

相关文章:

javascript - Firefox 的 getBoundingClientRect 问题

css - 为什么样式不根据div大小变化呢?

python - 从拟合分布中抽取

python - 在终端 MacOS 中找不到 jupyter 命令

python - Selenium WebDriver - 处理 StaleElementReferenceException (Python)

javascript - 禁用新的 block 引用内容可编辑

python - 我该如何解决 "Use scipy.optimize.linear_sum_assignment instead"

python - 从代码中的方法打印当前调用堆栈

selenium - 查找带有闭合标签下方文本的 XPath

eclipse - 在Eclipse的XPath中无法使用变量-Selenium