我尝试在下面的代码段中找到属性值为use
的{{1}}元素
'#aaa'
我能够找到使用css选择器<svg>
<use xlink:href='#aaa'></use>
</svg>
。但我在xpath中需要它。我在xpath下面尝试但是它无法正常工作
use[* |href='#aaa']
注意:我需要使用值(//*[name()='use'])[ * ='#aaa' or @href='#aaa']
来区分其他元素。
有人可以帮忙构建这个xpath。
答案 0 :(得分:2)
您的谓词import Quasar, * as All from 'quasar'
import { AddressbarColor } from 'quasar'
返回[ * ='#aaa' or @href='#aaa']
,因为没有属性false
(但href
),而xlink:href
没有包含文字内容的子节点{ {1}}。
请注意,任何属性的通配符为use
,而'#aaa'
仅适用于任何节点(属性除外)。尝试以下XPath
@*
答案 1 :(得分:1)
了解,如果有人需要包含..
"//*[name()='use'][contains(@*='#aaa')]"
答案 2 :(得分:0)
这是一个SVG标签,它的工作方式略有不同
请在xpath下面尝试:
//[local-name()='svg']/yourxpath
答案 3 :(得分:0)
使用xpath
import scipy.misc as sm
import numpy as np
from PIL import Image
def imagefunc(image):
try:
i = Image.open(image)
if i.format == 'jpg':
return i.format == 'jpg'
except OSError: # Checking for different possible errors in the input file
print ('This is not a jpg image! Input has to be a jpg image!')
return False
except FileNotFoundError: # Another check for error in the input file
print ('No image was found! Input file has to be in the same directory as this code is!')
return False
imgarray = np.array(sm.imread(image, True))
return imgarray
或
//use[@xlink:href='#aaa']
答案 4 :(得分:0)
由于元素位于svg
命名空间内,您可以使用以下xpath
:
//*[name()="svg"]/use[contains(@xlink:href,'#aaa')]
答案 5 :(得分:0)
由于没有任何建议对我真正有用,因此我提出了以下建议(在chrome devtools中进行了测试):
//*[name()='use' and @*[contains(.,'#aaa)]]
评论: