Python Селен не может извлечь внутренний текст - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь извлечь текст из заголовка с указанной c веб-страницы. Тег, на который я пытаюсь ориентироваться, выглядит следующим образом:

<h1 class="d2l-page-title d2l-heading vui-heading-1 bsi-set-solid">TEXT HERE</h1>

Я могу проверить, что мой установленный XPATH правильно, потому что все остальные элементы, которые я попросил напечатать, верны. Это мой вывод:

timer active

h1
<selenium.webdriver.chrome.webdriver.WebDriver (session="d9de1b525830fdf573c314afaa1001f1")>
{'y': 166.0, 'x': 21.0}
{'width': 419, 'height': 48}
DONE!

Это мой сценарий. ПРИМЕЧАНИЕ: некоторые из моих неудачных экспериментов можно найти в комментариях.

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("user-data-dir=/Users/michael/Desktop/selenium")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get("https://website.com")
xpx1 = "/html/body/div[2]/div/div[1]/div/a"
xpx2 = "/html/body/div/div[2]/div/form/input[1]"
xpx3 = "/html/body/div/div[2]/div/form/input[2]"
xpx4 = "/html/body/div/div[2]/div/form/input[3]"
# bs page
xpx5 = "/html/body/div[3]/div[2]/div[1]/div/div[2]/div/div[1]/div/div/div/h1"
xpx6 = "/html/head/meta[12]"

uni = driver.find_element_by_xpath(xpx1).click()
#uni.click()
username = driver.find_element_by_xpath(xpx2).send_keys("XXXXXX")
password = driver.find_element_by_xpath(xpx3).send_keys("XXXXXX")
submit = driver.find_element_by_xpath(xpx4).click()


print("timer active")
driver.implicitly_wait(8)
titlec = driver.find_element_by_xpath(xpx5)


for element in driver.find_elements_by_xpath(xpx5):
    print element.text
    print element.tag_name
    print element.parent
    print element.location
    print element.size
#linkc = driver.find_element_by_xpath(xpx6)
#print(driver.find_element_by_xpath(xpx5).getText()
#print(titlec)
print("DONE!")


1 Ответ

1 голос
/ 31 марта 2020

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

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