如何通过标签中的文本查找元素?

时间:2020-08-11 06:24:13

标签: python selenium selenium-webdriver xpath

我将Python与Selenium结合使用来创建简单的网络bot。我正在努力寻找出现的矩形上的clickable元素。我想通过“给定文本”对它进行本地化。

网站上的代码如下:

    <h5 class="some_class">Given Text</h5>

编辑:

我无法通过xpath找到它,所以我试图通过方法get_attribute("class")来读取类名,并从中读取元素名称-find_element_by_class().,这就是我得到的{{1} }

代码:

styles__StyledTitle-xvi3rp-0 BannerContentstyles__THBTitle-sc-1blzazq-1 Bjyxf 

给出一个例外:

        class_name = browser.find_element_by_xpath("//*[contains(text(), 'connected - Watches')]").get_attribute("class")

        browser.implicitly_wait(1)
        print(class_name)
        element = browser.find_element_by_class_name(str(class_name))

        ActionChains(browser).move_to_element(element).click(element).perform()

我关心不要直接在脚本中编写类名。

2 个答案:

答案 0 :(得分:0)

如果您试图找出类的名称,就像这样:

class_name = browser.find_element_by_xpath("some XPath").getAttribute("class")

答案 1 :(得分:0)

如果您知道“给出的文本”,则可以使用以下代码获取元素:xtdriver.find_element_by_xpath("//h5[contains(text(), 'Given Text')]")只能放在一个元素之后(只有一个元素除外)。 因此,要获取.get_attribute("class"),请使用:some_class