Как открыть HREF на Python? - PullRequest
       4

Как открыть HREF на Python?

0 голосов
/ 15 апреля 2019

Я хочу открыть 'text' боттон, но не могу его открыть.Как я могу это сделать?

from selenium import webdriver
import time

driver = webdriver.Chrome(path)
driver.get("https://www.pdfescape.com/account/unregistered/")
time.sleep(0.5)
elem = driver.find_element_by_id("dStartNew").click()
time.sleep(0.5)
elem = driver.find_element_by_id("PdfNew_input_pc").click()
driver.find_element_by_css_selector("[value=\"2\"]").click()
#time.sleep(0.5)
elem = driver.find_element_by_id("PdfNew_input_ps").click()
driver.find_element_by_css_selector("[value=\"a4\"]").click()
#time.sleep(0.5)
driver.find_element_by_xpath('//*[@id="PdfNew_form"]/input[1]').click()
time.sleep(0.5)
driver.find_elements_by_class_name('Add-Text').click()

Код проблемы: driver.find_elements_by_class_name('Add-Text').click()

Ответы [ 2 ]

1 голос
/ 15 апреля 2019

Элемент, который вы хотите щелкнуть, не имеет имени класса - он имеет заголовок «Добавить текст», также вы используете find_elements вместо find_element, который изменяет тип результата.

Так что вы можете выбрать его с помощью:

driver.find_element_by_css_selector('a[title=\"Add Text\"]').click()

Также, пожалуйста, позвольте мне добавить еще одно улучшение:

driver.find_element_by_xpath('//*[@id="PdfNew_form"]/input[1]').click()

может быть гораздо более стабильным (для случая изменения страницы), записанным как:

driver.find_element_by_css_selector('input[type=\"submit\"]').click()
0 голосов
/ 15 апреля 2019
driver.find_elements_by_class_name('Add-Text'),click()
  1. Выше кода должен возвращать список элементов, и вы не можете нажать на список элементов
  2. Этот элемент отсутствует в DOM
  3. Для клика мы используем '.' вместо ','
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...