我将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()
我关心不要直接在脚本中编写类名。
答案 0 :(得分:0)
如果您试图找出类的名称,就像这样:
class_name = browser.find_element_by_xpath("some XPath").getAttribute("class")
答案 1 :(得分:0)
如果您知道“给出的文本”,则可以使用以下代码获取元素:xt
。 driver.find_element_by_xpath("//h5[contains(text(), 'Given Text')]")
只能放在一个元素之后(只有一个元素除外)。
因此,要获取.get_attribute("class")
,请使用:some_class
。