#python-3.x #selenium
Вопрос:
Мне нужно выбрать все элементы ссылки, у которых есть 'aria-lable'
атрибут, под идентификатором «jsGrid_vgAllCases». Я сначала попробовал следующий код, он выберет все ссылки под идентификатором=’jsGrid_vgAllCases’
for link in driver.find_element_by_id('jsGrid_vgAllCases').find_elements_by_tag_name('a'):
print(link.text)
Затем я попробовал этот способ
for link in driver.find_element_by_id('jsGrid_vgAllCases').find_elements_by_xpath('//a[@aria-label]'):
print(link.text)
но он выберет все ссылки с атрибутом ‘aria-lable’, даже за пределами id=’jsGrid_vgAllCases’
Пожалуйста, посоветуйте, как это написать.
Спасибо
Ответ №1:
вы могли бы xpath так :
//a[@aria-lable]
так что в основном это укажет на весь a
тег, который имеет aria-lable
атрибут.
а затем используйте его, как :
all_links = find_elements_by_xpath("//a[@aria-lable]")
Теперь все all_links
это список на Python. итак, вы печатаете его размер вот так :
print(len(all_links ))
Вы можете выполнять множество операций в этом списке python.
Ответ №2:
for link in driver.find_elements_by_xpath("//div[@id='jsGrid_vgAllCases']//a[@aria-label]"):
print(link.text)
Это сработает
Комментарии:
1. сэр, это неэтичный подход, вы отредактировали исходный вопрос, а затем дали свой собственный ответ, не уведомив ответчика. У нас здесь такое не принято.
2. @cruisepandey на 1000% с тобой. Есть несколько пользователей, которые делают такие вещи. Что мы можем сделать против них?
3. Хорошо, поддержал ваш ответ 🙂 Вы также можете понизить его ответы / вопросы. Это действительно странная манера поведения таких пользователей.
4. Спасибо, но я не буду этого делать. Я не хочу просить кого-либо давать мне ответы на ответы, которые я дал не им. давайте сделаем что — нибудь получше: в случае, если вы увидите какой-нибудь интересный ответ, который я дал, — поддержите его. В случае, если это что-то хорошее, интересное, а не просто проблема с локатором / ожиданием и т. Д. Я сделаю то же самое с вами, точно так же, как я делаю с другими людьми здесь. Мы не конкуренты и не противники, а товарищи. По крайней мере, это то, чем мы должны быть 🙂
5. @Пророк : Конечно, приятель, я это понимаю. Я говорю это потому, что иногда ОП также удаляет свой вопрос, но если у вас есть голос за ваш ответ, ОП не сможет его удалить, это ТАК сложно. В данном случае я не отвергал его ответ, потому что я этого не делаю. но он мог бы удалить свой ответ, но не вопрос, так как мой ответ имеет один голос.