62

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見つかったすべてのリンクの属性を取得するにはどうすればよいですか?

4

2 に答える 2

93

get_attribute見つけた各リンクを呼び出します。

links = browser.find_elements_by_partial_link_text('##')
for link in links:
    print(link.get_attribute("href"))
于 2012-09-17T12:32:43.407 に答える
2

同様の質問に対する既存の回答が当てはまるようです。

推定

HTML がその 1 つのタグのみで構成されている場合は、次のようにする必要があります。

String href = selenium.getAttribute("css=a@href");

メソッドを使用して、取得DefaultSelenium#getAttribute()する CSS ロケーター、@シンボル、および属性の名前を渡します。この場合、 を選択してaを取得し@hrefます。

したがって、リンクに「..blablabla...」というテキストが含まれている場合は、次の方法で見つけることができます。

selenium.getAttribute("css=a:contains('..blablabla...')@href");
于 2012-09-16T10:18:59.703 に答える