如何使用Python和Selenium查找此HTML元素?

如何使用Python和Selenium查找此HTML元素?,python,html,selenium,selenium-webdriver,selector,Python,Html,Selenium,Selenium Webdriver,Selector,这是HTML源代码的摘录: <div class="flex items-center mt-4"> <svg style="fill: var(--color-reptile);" viewbox="0 0 16 16" width="24"> 但是,如果不寻址父元素,我如何直接找到该元素呢?我尝试了driver.find\u element\u by\u css\u select

这是HTML源代码的摘录:

<div class="flex items-center mt-4">
    <svg style="fill: var(--color-reptile);" viewbox="0 0 16 16" width="24">

但是,如果不寻址父元素,我如何直接找到该元素呢?我尝试了
driver.find\u element\u by\u css\u selector('svg.fill\:.var\(-color gravide\)\)
driver.find\u element\u by\u css\u selector('.var\(-color gravide\)\)
以及各种不同的变体,但每次尝试都只会引发“没有这样的元素”错误。

It case这是页面上唯一的
svg
元素,我想下面的
xpath
应该可以工作:
/*[name()='svg']

当然,这不是页面上唯一的
svg
,因此您应该添加更多细节,如:

/*[name()='svg'和(@width='24')]

带有css:
svg[style*=“fill:var(--color-gradive);”]
svg[viewbox=“0 0 16”]

第一个查找包含字符串的svg。

尝试这样的操作/*[local-name()='svg'],并获取您错误使用的样式属性<代码>表示类别,而不是样式。该SVG没有类

这个CSS选择器可以工作

svg[style='fill: var(--color-reptile);']
但我会用你开始时的一个变体

div.flex.items-center svg

SVG标记上的样式信息可能很容易更改,然后您的定位器就会损坏。DIV父级上的类不太可能更改,并且该DIV只有一个SVG子级,因此您应该很好。

为什么不接受答案?
div.flex.items-center svg