2016-03-07 87 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