私は、Web-こすり、次のページから国の名前をしようとしています。セレンPythonの - 私は特定の要素ののXpathを取得しようとしています<a href="http://hdr.undp.org/en/composite/trends" rel="nofollow noreferrer">http://hdr.undp.org/en/composite/trends</a></p> <p>- ウェブスクレイピングのXpathエラー
だから最初の国のために、それは次のように表示されます -
Country = driver.find_element_by_xpath("//[@id='styleSheet.css']/div/div/div/div/table/tbody/tr[2]/td[2]").text
だから、基本的にすべての国のために、私はPythonで用ループとレンジ機能を使用しています。
for i in range(2,193):
try:
print(i)
Country = driver.find_element_by_xpath("//[@id='styleSheet.css']/div/div/div/div/table/tbody/tr["+int(i)+"]/td[11]").text
print(Country)
except Exception:
print("none")
しかし、問題はXパスが私にとってうまくいかないことです。親切な要素を見つけることができたら助けてください。
intをstrに変更することで最初の問題を解決しました。これは、スローアップエラーです。それが現在の要素を見つけることができないと言います。
私はあなただけ連結することができるとは思いませんそのようなintへの文字列。 '{}'。format()メソッドを使用できます。 – SuperStew
例外は情報を提供しますか?すなわち、あなたは '例外としてeを除いて'次に 'print(e)'することができます – ContinuousLoad
@SuperStewループの外であっても、自分自身を取っている最初の場所は間違っています。 – Sid29