我正试着通过 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")>
感觉它有结果,但我不能将结果作为文本检查。在这种情况下,修复它的最好方法是什么?谢谢!
2条答案
按热度按时间g9icjywg1#
在您的例子中,我建议您通过XPath查找标题,因为您尝试使用的CSS选择器显示的是Description标记。请注意,您要查找的文本不是存储在页面上的文本,而是存储在Content属性中。使用.get_ATTRIBUTE()方法应该会有所帮助。
cx6n0qe32#
Hi有时,XPath复制过程中可能会出现错误。可能与您要执行的操作的命令不一致。您可以尝试使用命令。
我的示例项目可能会对您有所帮助。
https://github.com/kaayaumutt/instagramBotApp/blob/main/instagramBotApp/instagramBotApp.py