2016-04-14 23 views
1

'u tıklatmaz Bu kod, firefox webdriver uygulamasını kullanarak mükemmel çalışır. Ancak PhantomJS ile istenen javascript bağlantılarına tıklanmaz. Herhangi bir yardım yararlı olacaktırSelenium PhantomJS 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']") 
for more in range(0, len(options)): 
     options[more].click() 
     sleep(3) 
+0

Her iki sonuç için sayfa kaynağını karşılaştırırsam, bunlar farklıdır. Firefox ile, kaynak javascript linkine tıklayarak aktive edilen bölümleri içerirken, phantomjs ile birlikte –

cevap

1
Eğer bir optionmore sınıflar içindeki etiketleri seçerseniz kod çalışır

: Yukarıdaki kodu Koşu

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 ']")) 

:

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 

You İstediğiniz verilerle tüm td'leri alın.

+0

Tamam .. çalışmıştır .. Teşekkürler çok! –

+0

endişelenme, rica ederim. –