2017-02-01 2 views
1
<div class='into'> 
    <div class="state " rel="AA" style="width:80px;">AA (1028)</div> 
    <div class="state " rel="BB" style="width:80px;">BB (307)</div> 
</div> 

Ich mag würde eines der Elemente auswählen rel="AA" oder rel="BB" darauf klicken, mehrere Möglichkeiten ausprobiert. Die nützlichste Idee war:Python Selenium xPath von div class select a rel

browser.find_element_by_xpath("//div[@class='into']/[text()='AA']").click() 

Allerdings gibt es eine Nummer nach dem Text, was verschieden ist.

browser.find_element_by_xpath("//div[@class='into']/[rel='AA']").click() 

Und das funktioniert nicht.

+0

Versuchen Sie @rel statt nur rel. – lauda

Antwort

1

Verwenden sie den folgenden xpath

browser.find_element_by_xpath(".//div[@class='into']/div[@rel='CA']").click() 

kann auch normalize-space Methode verwenden, um die Räume in Ihrem Klassennamen wie unten wegzulassen -

browser.find_element_by_xpath(".//div[normalize-space(@class)='state'][@rel='AA']").click() 
+0

Kann nicht gefunden werden, auch ausprobiert: // div [@ class = 'in']/div [@ class = 'state'] [ @ rel = 'CA'] –

+0

gibt es Leerzeichen in Ihrem 'class =" state "'? – NarendraR

+0

können Sie versuchen './/div[@class='into']/div[@rel='CA '' ' – NarendraR

0

Wenn Sie Ihr Beispiel mit Text verwenden möchten(), dann können Sie eine der folgenden Bedingungen verwenden:

browser.find_element_by_xpath("//div[@class='into']/div[contains(text(), 'AA')]").click() 

oder

browser.find_element_by_xpath("//div[@class='into']/div[starts-with(text(), 'AA')]").click() 

sonst die durch @lauda gegebene Antwort verwenden und @ rel es als Attribut zu deklarieren

+0

SyntaxError: Der Ausdruck ist kein zulässiger Ausdruck. Für beide drei Versuche –

+0

Ah, ich habe das zweite div vergessen, das ist höchstwahrscheinlich das Problem –

0

Wenn Sie Ihre XPath benötigen eines der Elemente mit Attributen rel="AA"oderrel="BB" (falls einer von ihnen entsprechen möglicherweise nicht auf Seite vorhanden), dann versuchen Sie es mit:

browser.find_element_by_xpath("//div[@class='into']/div[@rel="AA" or @rel="BB"]").click() 
Verwandte Themen