0

ページ上の「次の」ページ リンクをクリックしようとしています。リンク用のhtmlは次のとおりです。

<a href="http://www.lewisbrisbois.com/attorneys/search/-/eyJjb2xsZWN0aW9uIjoiYXR0b3JuZXlzIiwicmVzdWx0X3BhZ2UiOiJhdHRvcm5leXNcL3NlYXJjaFwvLSIsInNlYXJjaF9tb2RlIjoiYWxsIiwic2l0ZSI6ImRlZmF1bHRfc2l0ZSJ9/P30"><img src="/assets/images/icons/arrow-orange-right.png" alt="Picture" /></a>

imgはオレンジ色の矢印です。後続のページでは img は変更されませんが、リンクは変更されます。したがって、リンク自体を使用する代わりに、img を使用してリンクを選択したいと思います (そうすれば、30 個の異なる xpath を使用する必要がなくなり、代わりに 1 つしか使用できなくなります)。

The page where this exists is: http://www.lewisbrisbois.com/attorneys/search/-/eyJjb2xsZWN0aW9uIjoiYXR0b3JuZXlzIiwicmVzdWx0X3BhZ2UiOiJhdHRvcm5leXNcL3NlYXJjaFwvLSIsInNlYXJjaF9tb2RlIjoiYWxsIiwic2l0ZSI6ImRlZmF1bHRfc2l0ZSJ9

セレンでこれを行う方法はありますか?

4

1 に答える 1

2

部分的な src (ファイル名) で検索し、imgその親aタグに移動します。

driver.find_element_by_xpath("//img[contains(@src, 'arrow-orange-right.png')]/parent::a")  

同等の xpaths (最初の 1 つは親 a を検索し、2 番目は親要素に直接移動します):

//img[contains(@src, 'arrow-orange-right.png')]/parent::a
//img[contains(@src, 'arrow-orange-right.png')]/..

部分的な src が一意でない場合は、フル パスを使用することをお勧めします/assets/images/icons/arrow-orange-right.png

//img[@src='/assets/images/icons/arrow-orange-right.png']/..
于 2013-06-11T04:24:31.943 に答える