Как получить текст из элемента с помощью Selenium через Python - PullRequest
0 голосов
/ 03 июня 2019

Я пишу автоматизированный скрипт для веб-сайта и хотел бы проверить, что форма была создана.Я уже создал форму, которую я назвал «Бла!».

На веб-странице теперь будет форма с заголовком столбца «Имя», в которой будет отображаться «Бла».

В html-файле где-то будет строка «Blah».Я пытаюсь получить html, содержащий эту строку, и установить ее в переменную, а затем сделать сравнение, чтобы увидеть, содержит ли эта переменная «бла» внутри.используя python, так что это должно выглядеть примерно так:

x = driver.find_element_by_xpath(Some_code_to_catch_the_html)
print ("blah" in x) #return true is x includes the string- form was created!

Код, который я смог запустить без каких-либо ошибок, за исключением того факта, что он не находит текст «бла!».Примечания: Div для "бла!"не имеет уникального идентификатора, и поэтому я должен использовать идентификатор для этого блока.

Фактический код:

element = driver.find_elements_by_xpath("//*[@id='dashboard-container-d08a6dcd-dc17-4662-9156-7fe74a4abc15']")
print(element[0].text)
assert "blah!" in element, "text not found in element"
# I have also used 'element without the index.
# here is the actual id for the table where 'blah!'is created under >> //*[@id='dashboard-container-d08a6dcd-dc17-4662-9156-7fe74a4abc15']/div[1]/div[2]/div/div/form/div[5]/table/tbody

При каких обстоятельствах текст не будет возвращен из HTML?

1 Ответ

0 голосов
/ 04 июня 2019

Чтобы проверить, содержит ли какой-либо конкретный Источник страницы определенный элемент / текст / форму в нем, вы можете найти элемент / текст / форму в HTML DOM , используя driver.page_source и вы можете следовать приведенному ниже решению:

  • Кодовый блок:

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    
    driver.get("http://www.python.org")
    print("Don Powell" in driver.page_source)
    elem = driver.find_element_by_name("q")
    elem.clear()
    elem.send_keys("pycon")
    elem.send_keys(Keys.RETURN)
    print("Don Powell" not in driver.page_source)
    
  • Выход на консоль:

    False
    True
    
...