Selenium + Python ожидают определенного уже найденного элемента - PullRequest
0 голосов
/ 23 мая 2018

Я хотел бы использовать ожидаемый для объекта, который уже расположен, но я получаю ошибку.Я могу найти родителя только до того, как на него щелкнули - после этого он мутирует в элементы ввода «один из многих», и единственный способ отличить его - это свойство «значение» (таким образом, атрибут не доступен из XPath).

Мой код (что-то вроде):

parent_element = self.driver.find_element_by_xpath("//div/div/input[position()=10]/div")
parent_element.click()  # After this I cannot locate parent_element any more
child_element = WebDriverWait(self.driver,3).until(
    expect.element_to_be_clickable(
        parent_element.find_element_by_xpath("./div")
    )
)
child_element.click()

Что приводит к:

TypeError: find_element() argument after * must be an iterable, not function

1 Ответ

0 голосов
/ 23 мая 2018

Попробуйте эту строку:

child_element = WebDriverWait(parent_element, 3).until(
    expect.element_to_be_clickable((By.XPATH, "./div")))

Обратите внимание, что element_to_be_clickable() должен получить кортеж "by" и "value" в качестве единственного аргумента, но не WebElement

PS Я предполагаю, чтоexpect это ExpectedConditions

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