2013-12-08 8 views
5

Mit Python und Selen muss ich suchen und klicken Sie auf eine bestimmte Schaltfläche auf einer Webseite. Dies kann unter normalen Umständen mit den BefehlenPython, suchen und klicken Sie auf eine bestimmte Schaltfläche mit Selen

erfolgen, die in diesem Fall aufgrund der Codierung der Webseiten nicht funktionieren. Wobei sowohl die Schaltfläche, die zur vorherigen Seite führt als auch die, die zur nächsten Seite führt, denselben Klassennamen haben. Damit dieser Code nur hin und her zwischen der ersten und der zweiten Seite

Wie weit gehen, wie ich der einzige Weg, sagen kann, die beiden Tasten auseinander zu halten ist, dass Sie die Taste, um zur vorherigen Seite führenden liegt innerhalb

<li class="previous"> 
    #button 
</li> 

und die, die auf der nächsten Seite führt liegt innerhalb

<li class="next"> 
    #button 
</li> 

gibt es irgendeine Art und Weise Selen nur wählen zu haben und klicken Sie auf die Schaltfläche, die in der „next“ li class liegt?

Der komplette Tastencode:

die vorherige Taste:

<li class="previous"> 
    <a class="next" rel="nofollow" onclick="qc.pA('nrForm', 'f76', 'QClickEvent', '1', 'f28'); return false;" href=""> 
     Previous 
    </a> 
</li> 

die nächste Taste:

<li class="next"> 
    <a class="next" rel="nofollow" onclick="qc.pA('nrForm', 'f76', 'QClickEvent', '3', 'f28'); return false;" href=""> 
     Next 
    </a> 
</li> 

Antwort

3

Ich glaube, Sie .find_element_by_xpath verwenden sollte(). Zum Beispiel:

next = driver.find_element_by_xpath("//li[@class='next']/a") 
prev = driver.find_element_by_xpath("//li[@class='previous']/a") 

oder:

next = driver.find_element_by_xpath("//a[text()='Next']") 
prev = driver.find_element_by_xpath("//a[text()='Previous']") 
+2

Ich habe keine Selenerfahrung und wenig CSS-Erfahrung, aber ich habe einmal eine Präsentation über Selen gesehen, in der festgestellt wurde, dass die Verwendung von CSS im Allgemeinen besser ist als die Verwendung von xpath. – dstromberg

Verwandte Themen