2016-04-14 42 views
1

Dieser Code funktioniert perfekt mit Firefox Webdriver. Aber mit PhantomJS klickt es nicht auf die gewünschten Javascript Links. Jede Hilfe wird hilfreich seinSelenium PhantomJS Webdriver nicht klicken

driver = webdriver.PhantomJS() 
driver.get("http://justbet.co.ke/index.php?option=com_justbet&league=1539&Itemid=123") 
options = driver.find_elements_by_xpath("//td[@class='optionmore']") 
for more in range(0, len(options)): 
     options[more].click() 
     sleep(3) 
+0

Wenn ich die Seitenquelle für beide Ergebnisse vergleiche, sind sie unterschiedlich. Mit firefox enthält die Quelle die Teile, die durch Klicken auf den Javascript-Link aktiviert werden, während mit phantomjs es –

Antwort

1

Der Code funktioniert, wenn Sie die ein-Tags innerhalb der optionmore Klassen wählen:

from selenium import webdriver 
driver = webdriver.PhantomJS() 
driver.get("http://justbet.co.ke/index.php?option=com_justbet&league=1539&Itemid=123") 
options = driver.find_elements_by_xpath("//td[@class='optionmore']/a") 
print(driver.find_elements_by_xpath("//td[@class='suboption ']")) 
for opt in options: 
    opt.click() 
print(driver.find_elements_by_xpath("//td[@class='suboption ']")) 

den Code Lauf oben:

In [27]: from selenium import webdriver 

In [28]: driver = webdriver.PhantomJS()  
In [29]: driver.get("http://justbet.co.ke/index.php?option=com_justbet&league=1539&Itemid=123")  
In [30]: options = driver.find_elements_by_xpath("//td[@class='optionmore']/a")  
In [31]: print(len(driver.find_elements_by_xpath("//td[@class='suboption ']"))) 
0 

In [32]: for opt in options: 
    ....:   opt.click() 
    ....:  

In [33]: print(len(driver.find_elements_by_xpath("//td[@class='suboption ']"))) 
270 

Sie Holen Sie sich alle tds mit den gewünschten Daten.

+0

nicht funktioniert. Ok .. es funktionierte .. Vielen Dank !! –

+0

keine Sorge, gern geschehen. –

Verwandte Themen