我想有文字的所有元素是蓝色的颜色从一个网页使用 selenium 在python。
但是我无法找到相应属性的正确xpath。下面是我的代码,有人能告诉我我在这里犯了什么错误吗:-
import os
os.chdir(os.path.dirname(os.path.abspath(__file__)))
import requests
from bs4 import BeautifulSoup
from selenium import webdriver
import time
import gdown
service = webdriver.chrome.service.Service('./chromedriver')
service.start()
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options = options.to_capabilities()
driver = webdriver.Remote(service.service_url, options)
links = ["https://www.insightsonindia.com/2023/01/26/mission-2023-secure-daily-upsc-mains-answer-writing-practice-26-january-2023/"]
for link in links:
print(link)
driver.get(link)
elems = driver.find_elements_by_xpath("//strong[style*='color:#0000ff']")
for elem in elems:
print(elem.text)
2条答案
按热度按时间yhxst69z1#
颜色是
span
的属性,而不是strong
的属性,因此XPATH
应如下所示:或者使用
*
,但不要那么具体,而是查找所有内容:在较新版本的Selenium中,避免使用
find_element_by_*
,因为在最新版本中已弃用:jutyujz02#
你的xpath请求缺少一个空格,他应该是这样的:
//span[@style ='颜色:#0000ff;']