即使使用 Selenium 和 Python 有多个具有相同类名的元素,如何通过类名识别元素

How to identify an element through classname even though there are multiple elements with the same classnames using Selenium and Python

<div class="_2S1VP copyable-text selectable-text" data-tab="1" dir="ltr" spellcheck="true" contenteditable="true"></div>

<div class="_2S1VP copyable-text selectable-text" data-tab="3" dir="ltr" contenteditable="true"></div>

我是初学者,我很难区分/指定第一个 class 和第二个

typing = bot.find_element_by_xpath('//div[@class = "_1Plpp"]')

这似乎不起作用,仅使用 class 名称总是会出现不需要的第二个具有相同 class 名称的名称,我注意到它有 data-tab= “3”,另一个有 data-tab="1" 我将如何指定 data-tab="1" 的那个而不是另一个。

由于两个元素的class属性值相似,仅通过[=45无法区分=] 属性,您可能需要考虑其他一些属性。

要确定第一个元素,您可以使用以下任一方法 :

  • 使用 css_selectordata-tab 属性:

    typing = bot.find_element_by_css_selector("div.copyable-text.selectable-text[data-tab='1']")
    
  • 使用 xpathdata-tab 属性:

    typing = bot.find_element_by_xpath("//div[contains(@class, 'copyable-text') and @data-tab='1']")
    
  • 使用 xpathdata-tab 属性:

    typing = bot.find_element_by_xpath("//div[contains(@class, 'selectable-text') and @data-tab='1']")