2016-03-07 84 views
1

我正在寫一個python代碼來自動化網頁。 我需要點擊播放按鈕播放錄音。但是我無法通過代碼來實現。Python代碼點擊錨標記

檢查元素給了我這一點 - 的 '玩' 外HTML:

<div class="play"> 
<a id="sm_1855464769" class="sm2_button" href="#"> </a> 
</div> 

檢查元素給了我這一點 - 的Xpath的 '播放':

//*[@id="recording_1855464769"]/div/div/div[8] 

蟒蛇代碼我寫的是:

element = WebDriverWait(self.driver, 15).until(EC.presence_of_element_located(EC.find_element_by_xpath("//*[@id='recording_1855464769']/div/div/div[8]")) 
element.click() 

錯誤消息我在終點站下車:

element = WebDriverWait(self.driver, 15).until(EC.presence_of_element_located(EC.find_element_by_xpath("//*[@id='recording_1855464769']/div/div/div[8]"))) 
AttributeError: 'module' object has no attribute 'find_element_by_xpath' 

我需要點擊錨標記,以播放音頻。我怎樣才能做到這一點 ?? Plz幫助..

回答

0

您需要使用By。將EC.find_element_by_xpath替換爲By.XPATH

from selenium.webdriver.common.by import By  

element = WebDriverWait(self.driver, 15).until(EC.presence_of_element_located 
       (By.XPATH("//*[@id='recording_1855464769']/div/div/div[8]")) 
+0

我得到了一個備用太.. 'driver.find_element_by_css_selector( 「div.play」)。點擊()' 'driver.find_element_by_id( 「sm_1855464769」)。點擊()' – Karthik

+0

要使它** **等待... '元素= WebDriverWait(self.driver,15)。直到(EC.visibility_of(self.driver.find_element_by_css_selector( 'div.play')))' \t '元件。點擊()' – Karthik

+0

謝謝@Jason .. 我也會實施你的解決方案.. – Karthik