2016-03-19 27 views
1

Python SeleniumExtract href içeren belirli dizeleri

elem = browser.find_element_by_xpath("//*") 
source_code = elem.get_attribute("outerHTML") 
ben gibi bir anahtar kelime içeren kaynak kodundan eleman ayıklamak gerekir

- adlandırılmış dosyası için reçel, bal, choc ve baskı /items/John-string-jam-string.html

örneğin recipes.txt

Bu href değerleri biçiminde örnekleridir

<a href="/items/John-string-jam-string.html" 
<a href="/items/Paul-string-string-jam-string.html" 
<a href="/items/string-Mary-honey-string.html" 
<a href="/items/choc-string-string.html" 

İstediğim anahtar kelimelerime referans içermeyen çok sayıda <a href =/items/ vardır.

Python ve selenyum için yeniyim, ancak meydan okumadan zevk alıyorum. Yardımlarınız için şimdiden teşekkür ederiz.

cevap

1

Bunu çözmenin çeşitli yolları vardır. Örneğin, XPath bulucu ve contains() kullanarak: Bir CSS seçicisi ve *= gösterimi ile

links = browser.find_elements_by_xpath("//a[contains(@href, 'jam') or contains(@href, 'honey') or contains(@href, 'choc')]") 

Veya:

links = browser.find_elements_by_css_selector("a[href*=jam],a[href*=honey],a[href*=choc]") 

size "kod gömmek" aranan sözcük değerleri istemiyorsanız ifadelerin içinde, konumlandırıcınızı dinamik olarak yapılandırabilirsiniz:

210, fiili href özellik değerlerinin dışarı/baskı ayıklamak .get_attribute() kullanmak için:

for link in links: 
    print(link.get_attribute("href")) 
+0

ilk öneri aradığım tam olarak ne olduğunu. Teşekkürler. – Newbe

İlgili konular