子ノードに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 といっしょに使うと思ったように動かないので困った。バクじゃね?