SeleniumとChromeドライバーを使用して:
links = browser.find_elements_by_partial_link_text('##')
は約160個のリンクに一致します。
私が試してみると、
for link in links:
print link.text
それで私はすべてのリンクのテキストを取得します:
##1
##2
...
##160
リンクは次のとおりです。
<a href="1.html">##1</a>
<a href="2.html">##2</a>
...
<a href="160.html">##160</a>
見つかったすべてのリンクのhref
属性を取得するにはどうすればよいですか?
見つけたリンクのそれぞれでget_attributeを呼び出すだけです。したがって、次のように動作するはずです。
links = browser.find_elements_by_partial_link_text('##')
for link in links:
print link.get_attribute("href")
これで、必要なものが出力されるはずです。
既存の回答 同様の質問に当てはまるようです:
仮定する
hTMLはその1つのタグのみで構成されているため、次のようになります。
_String href = Selenium.getAttribute("css=a@href");
_
DefaultSelenium#getAttribute()
メソッドを使用して、CSSロケーター、_@
_シンボル、および取得する属性の名前を渡します。この場合、a
を選択し、_@href
_を取得します。
したがって、リンクに「..blablabla ...」というテキストが含まれている場合は、次のようにして見つけることができます。
_Selenium.getAttribute("css=a:contains('..blablabla...')@href");
_