我正在使用硒和phantomjs,我想了解如何正確點擊複選框。對於在本頁面爲例:https://www.udacity.com/courses/androidPhantomjs點擊複選框
我想檢查「免費課程」,所以我想這:
from selenium import webdriver
from selenium.webdriver.common.by import By
def __init__(self):
self.driver = webdriver.PhantomJS(executable_path='/usr/local/bin/phantomjs')
def parse(self, response):
self.driver.get(response.url)
element = self.driver.find_element(By.XPATH, '//div[@class="checkbox"]/label[contains(.,"Free Courses")]')
self.driver.execute_script("arguments[0].click();", element)
的問題是,它似乎並不被點擊任何東西:做一個截圖與self.driver.save_screenshot('screenshot.png')
它給出了所有的結果,沒有過濾。 這是我做錯了什麼?
爲什麼不用'self.driver.find_element(By.XPATH,「// DIV [@類= 「複選框」] /標籤[包含(。,」免費課程「)]')。click()'?您也應該使用'input'元素來代替'label' – Andersson
PhantomJS中似乎不支持.click()函數,請參閱:http://stackoverflow.com/questions/15739263/phantomjs-click-an-element 這是真的,我錯誤地使用標籤。 –