Селен: нажмите на кнопку - PullRequest
0 голосов
/ 20 марта 2019

Это часть html -кода страницы, где я должен нажать кнопку

<div class="add-company-form__form-control add-company-form__submit">
    <button class="button button_theme_islands button_size_xl button_view_action button_type_submit button__control i-bem" data-bem='{"button":{}}' role="button" type="submit">
        <span class="button__text">Добавить организацию</span>
    </button>
</div>

Я пытаюсь нажать на кнопку с

driver.find_element_by_xpath("//div[@class='add-company-form__submit']/button").click()

но возвращается

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@class='add-company-form__submit']/button"}

Как я могу это исправить?

Ответы [ 2 ]

1 голос
/ 20 марта 2019

Попробуйте следовать Xpath.

  WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@class='button button_theme_islands button_size_xl button_view_action button_type_submit button__control i-bem']")))

Если вы хотите использовать CssSelector, попробуйте это.

   WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.button_theme_islands")))
0 голосов
/ 20 марта 2019

Вы должны попробовать создать экземпляр ожидания WebDriver, прежде чем нажимать кнопку:

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.elementToBeClickable(By.XPATH, "//button[@class='button button_theme_islands button_size_xl button_view_action button_type_submit button__control i-bem']"));

ПРИМЕЧАНИЕ:

Я использовал синтаксис Java, но он должен быть очень похож на Python.

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