if文を通して実行できるように、ページ上のブルンアイコンを探すプログラムを作成しようとしています。私が見ているページはhttps://www.yelp.com/biz/sabor-unido-newarkです。私はJSoupを使用していて、これを達成する正しい方法を見つけるのに苦労されているページ上にアイコンがあるかどうかを確認するにはどうすればいいですか?
<span aria-hidden="true" style="fill: #ea5c1d; width: 30px; height: 30px;" class="icon icon--30-bullhorn icon--size-30">
<svg class="icon_svg">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#30x30_bullhorn"></use>
</svg>
</span>
:クロームのインスペクタツールを使用して、私は、ブルホーンアイコン用のHTMLを見つけました。基本的に言えば、「ページにはホーンアイコンがあれば、これをやってください」私は多数の要素セレクタとhasAttr()
メソッドを試しましたが、どれもうまくいかないようです。これは非常にうまくいくかもしれません。なぜなら、私はHTMLに堪能ではなく、セレクタ構文を間違っているからかもしれません。それにもかかわらず、あなたはどう思いますか?
import java.util.ArrayList;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.nodes.Attribute;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.Scanner;
public class BullHorn
{
public static void main(String[] args) throws IOException, Exception, RuntimeException
{
String linkUrl = "https://www.yelp.com/biz/mega-pizza-newark?osq=pizza";
Document linkClick = Jsoup.connect(linkUrl).timeout(3000).get();
boolean bullhorn;
for(Element element : linkClick.getAllElements())
{
for(Attribute attribute : element.attributes())
{
if (attribute.getValue().equalsIgnoreCase("#30x30_bullhorn"))
{
bullhorn = true;
}
}
}
if (bullhorn = true)
{
System.out.println("True");
}
else
{
System.out.println("False");
}
}
}
事があり、これは常にさえ、実際に拡声器のアイコンを持っていないリンクに、trueを返します:
は、ここに私が働いているものの現在の反復です。
は、あなたのコードを含むいただきありがとうございます:) –
あなたは ''場合(拡声器=真)で本当に大きな構文エラーがあり、 '=' 'sが代入演算子であることを覚えておいてください'==' 'はプリミティブ間の等価性をチェックします。また、if文を 'if(bullhorn)'と書くこともできます。 –
絶えず別のことをしようとしている2時間以上のうわさと、それは行方不明でした。それは面白い。ありがとう。 –