t.me/atinfo_chat Telegram группа по автоматизации тестирования

Ошибка "no such element". Как показать элемент Selenium'у?

python
Теги: #<Tag:0x00007f21d1efe508>

(Anton Hauff) #1

Всем привет. Может кто знает как решить данную проблему.
Пытаюсь подгрузить фотографию. И после успешной загрузки, нужно нажать на кнопку. Selenium категорически не хочет ее видеть. Уже искал и через css, через сlass, через абсолютный и относительный xpath - не видит и все.

d = webdriver.Chrome('/Users/antonhauff/env/lib/python3.7/chromedriver')

def test_18():
    d.implicitly_wait(10)
    d.get('https://ok.ru/test')
    d.find_element_by_css_selector('div.input_placeholder').click()
    current_dir = os.path.abspath(os.path.dirname('/Users/Test/Test.jpg'))
    file_path = os.path.join(current_dir, 'Test.jpg')
    d.find_element_by_css_selector('div.posting_ac_tx').click()
    d.find_element_by_name('photo').send_keys(file_path)
    **d.find_element_by_xpath('//div[@tittle="Поделиться"]').click()**

Ошибка вылетает на последней строчке.
Прикладываю код кнопки.


(Vasiliy Rakshin) #2

css: '.posting_footer .posting_submit'


(Anton Hauff) #3

К сожалнеию и это не работает:

AttributeError: 'WebDriver' object has no attribute 'find_element_by_css'


(Vasiliy Rakshin) #4

А это что?
Идите погулять на улицу. Хватит сидеть за компьютером.


(Anton Hauff) #6

Я понял ошибку. Но данный код все равно не нажимает)

d.find_element_by_css_selector('.posting_footer .posting_submit').click()

Message: element click intercepted
И так тоже пробовал:

d.find_element_by_css_selector('.posting_footer.posting_submit').click()

(Vasiliy Rakshin) #7

Что-то мне подсказывает что эта кнопка не сразу становится кликабельной, надо подожать чтобы она стала кликабильна. Либо тупо для проверки секунд 5-6 подождать перед кликом на неё.
Ещё можно попробовать сначала навести на неё курсор, а затем кликнуть.


(Anton Hauff) #8

Заработало!
Спасибо большое.
Есть небольшой вопрос. Где можно посомтреть инфу по подобному составлени css

.posting_footer .posting_submit

Из кода страницы его не вытащить. Как “увидеть” такой код в следующие разы)


(Vasiliy Rakshin) #9

https://www.red-gate.com/simple-talk/wp-content/plugins/download-attachments/includes/download.php?id=58994 - это таблица-шпаргалка для начинающих и не очень (взято отсюда https://www.red-gate.com/simple-talk/dotnet/.net-framework/xpath,-css,-dom-and-selenium-the-rosetta-stone/).
Как составлять xpath и css запросы? - думаю, проще на ютубе найти видео