それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

css has と同じことをXPATHで実現したい。

css has と同じことをXPATH

子ノードにformを持つTableを探すことが:hasでできる

table:has( form[name='WebMeisai')

xpath:hasを記述とすると

document.xpath("//table[.//form[@name='WebMeisai']]")

これは過去に〇〇を持つ〇〇要素をXpathで抜くというXPATHを考えまくったことがあるので簡単だった。

たとえば、twitter の who to folllow あたり

##:xpath(//div[@data-testid="cellInnerDiv"][.//h2[@role="heading"][@aria-level="2"]]/following-sibling::div[position() <= 4])

CSSのHasの場合、兄弟ノードが動作不良だった。なので[position() <= 4]のようなことを書くことができない

xpath なら //id/a[position() <= 4]css なら #id ~ a:nth-of-type(-n+4) とかけてもいいはずなのだが、has といっしょに使うと思ったように動かないので困った。バクじゃね?