selenium Selify XPath无结果

olmpazwi  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(215)

我正试着通过 selenium 来做一些网络涂鸦。但是,当我运行代码时,它没有显示结果。
以下是我的代码:

import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

from bs4 import BeautifulSoup
import time
import pandas as pd

driver = webdriver.Chrome()
url = 'https://vimeo.com/510879223'
driver.get(url)

# head > meta:nth-child(14)

# /html/head/meta[8]

title = driver.find_element(By.CSS_SELECTOR,"head > meta:nth-child(14)")
print (title.text)
description = driver.find_element(By.XPATH,"//meta[@property='og:description']").text
print (description)

结果:

Process finished with exit code 0

在这种情况下,我应该添加或删除什么?这是因为我想要擦除的站点不支持XPath擦除选项吗?
如果我打印(标题),结果是:

<selenium.webdriver.remote.webelement.WebElement (session="6f182a4afb7c1173f1e74f1cd6a40d87", element="e10f1407-3a09-4f3e-96e4-19071cda7d8e")>

感觉它有结果,但我不能将结果作为文本检查。在这种情况下,修复它的最好方法是什么?谢谢!

g9icjywg

g9icjywg1#

在您的例子中,我建议您通过XPath查找标题,因为您尝试使用的CSS选择器显示的是Description标记。请注意,您要查找的文本不是存储在页面上的文本,而是存储在Content属性中。使用.get_ATTRIBUTE()方法应该会有所帮助。

title = driver.find_element(By.XPATH,"//meta[@property='og:title']").get_attribute('content')
print (title)
description = driver.find_element(By.XPATH,"//meta[@property='og:description']").get_attribute('content')
print (description)
cx6n0qe3

cx6n0qe32#

Hi有时,XPath复制过程中可能会出现错误。可能与您要执行的操作的命令不一致。您可以尝试使用命令。

find_element_by_css_selector
find_element_by_class_name

我的示例项目可能会对您有所帮助。
https://github.com/kaayaumutt/instagramBotApp/blob/main/instagramBotApp/instagramBotApp.py

相关问题