uBlock Originのxpath。 TLに挟まれるプロモツイート非表示用(4月18日Twitterの仕様変更対応版) twitter.com##:xpath(//article/div/div[contains(@data-testid,"tweet")]/div/div/div/div[not(@lang)]/span[contains(text(),"プロモーション")]/ancestor::div[not(@*)])
2020-04-18 02:18:05プロモトレンド用 twitter.com##:xpath(//div[not(@aria-haspopup)]/div[contains(@data-testid,"trend")][not(./div/span[@aria-hidden])]/*/div[contains(@data-testid,"metadata")]/div[./span[./span[contains(text(),"によるプロモーション")][not(@dir)]]][not(@dir)]/../../../..)
2019-11-09 16:20:06TLに挟まれるおすすめユーザー非表示用その1(おすすめユーザーという欄を消す) twitter.com##:xpath(//h2/div[not(@lang)][./span[contains(text(),"おすすめユーザー")]]/ancestor::div[not(@*)])
2019-07-31 02:10:02TLに挟まれるおすすめユーザー非表示用その2(ユーザー自体消す) twitter.com##:xpath(//h2/div[not(@lang)][./span[contains(text(),"おすすめユーザー")]]/ancestor::div[@hidden or not(@*)]/following-sibling::div//div[contains(@data-testid,"-follow")]/ancestor::div[not(@*)])
2019-08-02 15:58:11TLに挟まれるおすすめユーザー非表示用その3(さらに表示という欄を消す) twitter.com##:xpath(//div/a[contains(@href,"/i/related_users")]/ancestor::div[not(@*)]) twitter.com##:xpath(//div/a[contains(@href,"who_to_follow")]/ancestor::div[not(@*)])
2019-08-02 16:00:06TLに挟まれるおすすめユーザー非表示用その4(さらに表示という欄を消す) twitter.com##:xpath(//div/a[contains(@href,"/i/connect_people")]/ancestor::div[not(@*)])
2020-03-09 01:43:32TLに挟まれるおすすめユーザー非表示用その5(おすすめユーザーの上に表示される余白を消す) twitter.com##:xpath(//h2/div[not(@lang)][./span[contains(text(),"おすすめユーザー")]]/ancestor::div[not(@*)]/preceding-sibling::div[not(@*)][not(.//article)][not(.//span)])
2020-03-09 01:46:11TLに挟まれるおすすめユーザー非表示用その6(おすすめユーザー下に表示される余白消去) twitter.com##:xpath(//h2/div[not(@lang)][./span[contains(text(),"おすすめユーザー")]]/ancestor::div[@hidden or not(@*)]/following-sibling::div[not(@*)][not(.//article)][not(.//span)])
2020-03-09 01:47:12TLに挟まれるおすすめユーザー非表示用(さらに表示という欄を消す)は、その3用の形式でもまだ流れてくるのかそれともその4用の形式でしかもう流れてこないのかは未確認なので、その3がいまだ必要なのかその4だけでいいのかは分からないが、一応その3も残しておく。
2020-03-09 01:52:10右側のカラムのおすすめユーザー非表示用 twitter.com##:xpath(//aside/*/*/*/*/*/*/div[contains(@data-testid,"-follow")]/../../../../../../../..) もしくは twitter.com##:xpath(//aside/a[contains(@href,"/i/connect_people")]/../..)
2020-03-14 17:01:16右側のカラムのおすすめトレンド非表示用 twitter.com##:xpath(//section/div[contains(@Aria-label,"タイムライン: トレンド")]/../../../..)
2019-08-02 16:07:07特定のURLを含むツイートを非表示その1(ツイートに画像や動画などを含む場合)(例は虚構新聞)(指定URLはページ単位まで可能) twitter.com##:xpath(//a[contains(@title,"https://t.co/4LUFasFsWq")]/span[contains(text(),"http://")]/ancestor::div[not(@*)])
2019-11-23 02:05:25特定のURLを含むツイートを非表示その2(ツイートに画像や動画などを含むツイートが公式RTされた場合)(例は虚構新聞)(指定URLはページ単位まで可能) twitter.com##:xpath(//div/div/div/div/span[contains(text(),"https://t.co/4LUFasFsWq")]/ancestor::div[not(@*)])
2019-11-23 02:07:01特定のURLを含むツイートを非表示その3(画像や動画など含まない場合)(例は虚構新聞)(指定URLはドメイン名まで) twitter.com##:xpath(//a[contains(@href,"https://t.co/emXcLCXHY9")]/div/div/div/span/span[contains(text(),"https://t.co/4LUFasFsWq")]/ancestor::div[not(@*)])
2019-08-02 16:08:18特定の文字列を含むツイートを非表示その1(例は空っぽ果実)(8月19日Twitterの仕様変更対応版) twitter.com##:xpath(//article//div[contains(@data-testid,"tweet")]/div//div[@lang]/span[contains(text(),"空っぽ果実")]/ancestor::div[not(@*)])
2019-08-19 19:56:36特定の文字列を含むツイートを非表示その2(その文字列が含まれるツイートがコメント付き公式RTやツイートのURLが記載された場合)(例は空っぽ果実) twitter.com##:xpath(//div/div[@aria-haspopup]/div/div//div[@lang]/span[contains(text(),"空っぽ果実")]/ancestor::div[not(@*)])
2019-08-19 19:59:01特定のハッシュタグが含まれるツイート非表示(例は#空っぽ果実)(コメント付き公式RT等されたものは非対応) twitter.com##:xpath(//article/div/div[contains(@data-testid,"tweet")]/div//div[@lang]/span/a[@href="/hashtag/空っぽ果実?src=hashtag_click"]/ancestor::div[not(@*)])
2019-11-23 02:17:16特定の文字列を含むハッシュタグが含まれるツイートを非表示その1(例は空っぽを含むハッシュタグ) twitter.com##:xpath(//article/div/div[contains(@data-testid,"tweet")]/div//div[@lang]/span/a[contains(text(),"#")][contains(text(),"空っぽ")]/ancestor::div[not(@*)])
2019-11-23 02:20:29特定の文字列を含むハッシュタグが含まれるツイートを非表示その2(コメント付き公式RTやツイートのURL記載の場合)(例は空っぽ) twitter.com##:xpath(//div/div[@aria-haspopup]/div/div/div[@lang]/span/span[contains(text(),"#")][contains(text(),"空っぽ")]/ancestor::div[not(@*)])
2019-08-19 20:17:27特定垢の特定文字列含むツイート非表示(例は@karappoのテスト含むもの)(コメント付き公式RT等非対応) twitter.com##:xpath(//a[@href="/karappo"]/ancestor::article//div[contains(@data-testid,"tweet")]/div//div[@lang]/span[contains(text(),"テスト")]/ancestor::div[not(@*)])
2019-08-19 20:21:53特定文字含む垢の特定文字列含むもの非表示(例 @karappoのテスト) twitter.com##:xpath(//div[not(@lang)][@dir]/span[contains(text(),"@karappo")]/ancestor::article//div[contains(@data-testid,"tweet")]/div//div[@lang]/span[contains(text(),"テスト")]/ancestor::div[not(@*)])
2019-08-19 20:25:34特定垢の特定ハッシュタグ含むツイート非表示(例 @karappoの#空っぽ果実) twitter.com##:xpath(//a[@href="/karappo"]/ancestor::article//div[contains(@data-testid,"tweet")]/div//div[@lang]/span/a[@href="/hashtag/空っぽ果実?src=hashtag_click"]/ancestor::div[not(@*)])
2019-11-23 03:12:03特定文字列含む垢の特定文字列含むハッシュタグ含むツイート非表示(例はkarappoを含む垢の空っぽを含むハッシュタグ)
2019-08-19 20:32:44twitter.com##:xpath(//div[not(@lang)][@dir]/span[contains(text(),"@karappo")]/ancestor::article//div[contains(@data-testid,"tweet")]/div//div[@lang]/span/span[contains(text(),"#")][contains(text(),"空っぽ")]/ancestor::div[not(@*)])
2019-08-19 20:32:49以上のxpath中のdata-testidはもしかすると、そのうちにTwitterがtestをとってxpathが機能しなくなるかもしれないし、そもそも構成を変えて機能しなくなるかもしれないので、あしからず。
2019-08-19 20:34:14TLに挟まれる自分がフォローしているアカウントがいいねしたツイート非表示用 twitter.com##:xpath(//article/div/div/div/div/div/div/a[contains(@href,"/i/timeline")]/span/span[contains(@dir,"ltr")]/span[contains(text(),"がいいねしました")][not(@dir)]/ancestor::div[not(@*)])
2019-11-23 11:00:31TLに挟まれる自分がフォローしてる垢がフォロー中の垢のツイート非表示用 twitter.com##:xpath(//article/div/div/div/div/div/div/a[contains(@href,"/i/timeline")]/span/span[contains(@dir,"ltr")]/span[contains(text(),"がフォローしています")][not(@dir)]/ancestor::div[not(@*)])
2019-11-23 11:04:00TLに挟まれる自分がフォローしている垢がフォローした垢のツイート非表示用 twitter.com##:xpath(//article/div/div/div/div/div/div/a[contains(@href,"/i/user/")]/span/span[contains(@dir,"ltr")]/span[contains(text(),"さんがフォロー")][not(@dir)]/ancestor::div[not(@*)])
2019-11-23 11:05:27TLに挟まれるいいねされた自分のツイート非表示用 twitter.com##:xpath(//article/div/div/div/div/div/div/a[contains(@href,"/i/user/")]/span/span[contains(@dir,"ltr")]/span[contains(text(),"がいいねしました")][not(@dir)]/ancestor::div[not(@*)])
2019-11-24 04:26:42「〇〇さんがフォローしています」「〇〇さんがフォロー」の動作の違いが正しいかどうか微妙。「〇〇さんがフォロー」と表示される方は直近でフォローしたアカウントが出ている感があるのだが。
2019-11-23 11:08:51リスト先頭のヘッダー画像非表示用 twitter.com##:xpath(//div[not(@*)]/div/div/div/div[contains(@style,"margin")]/div[contains(@style,"background-image")]/../../..)
2019-11-28 12:12:55リスト先頭のヘッダー画像非表示用xpathは、そのリストに一つもツイートがない場合はヘッダー画像を非表示できないが、仕様ということで。
2019-11-28 12:29:52xpath中に日本語を含むものは当然Twiterの言語設定を日本語にしている場合用のものであって、言語設定が英語の場合用とかは英語用のものを用意しなくてはいけないのだけれど、英語用だと場合によってはscreen_nameにPromotedが含まれるユーザーがいた場合の対策とかが必要かも。
2019-08-19 20:34:28そのあたりの対策を別にすれば英語用は、xpathでおすすめユーザーはWho to follow、プロモーションはPromoted、によるプロモーションはPromoted byに変えれば良いはず。
2019-08-19 20:34:34特定文字含む垢の特定文字列含むもの非表示xpath、特定文字列含む垢の特定文字列含むハッシュタグ含むツイート非表示xpathはコメント付きRTされたツイートに対しても対応しているが、あくまで特定文字列含むアカウントなので、例えば@karappoで指定すると@karappokajitsuにも該当するので注意。
2019-08-19 20:59:17一応ちょっと動作確認したので、TwitterがWEBでたまに個別のツイートのページに「その他のツイート」として全く関係ないツイートをいっぱい表示することの対策用xpathツイートしておく。
2020-02-29 23:03:31個別のツイートのページに時々表示されるその他のツイート用その1 twitter.com##:xpath(//div[not(@*)]/div/div/h2/div[contains(@dir,"auto")]/span[contains(text(),"その他のツイート")][not(@dir)]/ancestor::div[not(@*)]/following-sibling::div[not(@*)])
2020-02-29 23:04:28個別のツイートのページに時々表示されるその他のツイート用その2(その他のツイートという表示そのものを消す用) twitter.com##:xpath(//div[not(@*)]/div/div/h2/div[contains(@dir,"auto")]/span[contains(text(),"その他のツイート")][not(@dir)])
2020-02-29 23:04:44