2016-03-07 1 views
1

Я пишу код на питоне для автоматизации веб-страницы. Мне нужно нажать кнопку воспроизведения, чтобы воспроизвести запись. Но я не могу сделать это через код.Код Python для щелчка на теге привязки

Осмотрите элемент дает мне это - внешний HTML из 'игры':

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

Inspect элемент дает мне это - 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 help ..

ответ

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) .until' 'элемент (EC.visibility_of (self.driver.find_element_by_css_selector ('div.play'))) \t . click() ' – Karthik

+0

Спасибо @Jason .. Я также воспользуюсь вашим решением .. – Karthik

 Смежные вопросы

  • Нет связанных вопросов^_^