2017-01-12 2 views
0

Я новичок в Python. У меня есть сценарий, который нажимает на рекламный блок на сайте. Но теперь мне нужно добиться того же в Python.Python + Selenium. Нажмите на блок Java

Объект, заданный в index.html Java-код

Когда страница загружает код превращается в рекламный блок, состоящий из 3 изображений со ссылками.

enter image description here

Но нужно нажать, чтобы начать, чтобы получить ссылку по крайней мере один из трех блоков.

В Google Chrome, функция «Просмотр кода» дает следующее:

enter image description here

Как найти и нажать на одну из трех элементов на странице?

Найти по xpath или ID или тэгу?

Помогите мне пожалуйста! Заранее спасибо!

ответ

0

Вы можете использовать следующий метод:

driver.find_element_by_xpath('//a[@title="Кудрявцева рассказала о безработном сыне..."]').click() 

P.S. Эти изображения могут быть расположены внутри iframe, поэтому в случае, если мой код не работает (вы получаете NoSuchElementException), попытайтесь переключиться на кадр, прежде чем нажать на ссылку:

driver.switch_to_frame(driver.find_element_by_tag_name('iframe')) # if there is only one iframe on page 
driver.switch_to_frame(driver.find_elements_by_tag_name('iframe')[1]) # if there are few iframes, just select required by its index 
driver.switch_to_frame('iframe_name_or_id') # if iframe has "name" or "id" attributes 
+0

от импорта селена WebDriver браузера = webdriver.Firefox () browser.get ('http://nnmclub.to') browser.find_element_by_xpath ("// a [содержит (@ href, 'www.marketgid.com')]"). Click() –

+0

Спасибо! Сделано это вариант. Скажите мне больше, когда я понимаю, что ждать? Как только страница загружается, перед тем, как нажать, перед закрытием браузера? –

+0

Что значит «ждать»?? Также нет 'www.marke tgid.com' в атрибуте' href' на предоставленном скриншоте ... – Andersson

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