即使使用 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_selector
和 data-tab 属性:
typing = bot.find_element_by_css_selector("div.copyable-text.selectable-text[data-tab='1']")
使用 xpath
和 data-tab 属性:
typing = bot.find_element_by_xpath("//div[contains(@class, 'copyable-text') and @data-tab='1']")
使用 xpath
和 data-tab 属性:
typing = bot.find_element_by_xpath("//div[contains(@class, 'selectable-text') and @data-tab='1']")
<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_selector
和 data-tab 属性:typing = bot.find_element_by_css_selector("div.copyable-text.selectable-text[data-tab='1']")
使用
xpath
和 data-tab 属性:typing = bot.find_element_by_xpath("//div[contains(@class, 'copyable-text') and @data-tab='1']")
使用
xpath
和 data-tab 属性:typing = bot.find_element_by_xpath("//div[contains(@class, 'selectable-text') and @data-tab='1']")