【发布时间】:2021-07-30 20:43:43
【问题描述】:
class= "a1"这是一个后续问题:Accessing a webelement within a list of webelement in Selenium using Pything
HTML 文件 TEST2.html
<!DOCTYPE html>
<html>
<body>
<div class="w-30-ns W-100 pp">
<h1 class = "a1">My First Heading</h1>
</div>
<div class="w-30-ns W-100 pp">
<h1 class = "a1">My Second Heading</h1>
</div>
<div class="w-30-ns W-100 pp">
<h1 class = "a1">My Third Heading</h1>
</div>
</body>
</html>
试图找到所有类“a1”。 find_element_by_tag_name 有效。 find_element_by_class_name 不起作用。我收到“NoSuchElementException”消息:没有这样的元素:无法找到元素:{"method":"css selector","selector":".a1"}
from typing import List, Text
from selenium import webdriver
from selenium.webdriver.remote.webelement import WebElement
driver = webdriver.Chrome()
url = 'C:\\Users\\ed821\\Downloads\\TEST2.html'
driver.get(url)
titles = driver.find_elements_by_class_name("pp")
for title in titles:
heading = title.find_element_by_tag_name("h1") ## This works
heading2 = title.find_element_by_class_name("a1") ## This does not
print("Title is:" + heading.text)
print("Also: " + heading2)
我需要按“类”(而不是标签)搜索。上面的例子当然只是为了这个例子而构建的,但是真实的网页包含太多类似的标签。
【问题讨论】:
-
如果直接
class_name不起作用,那么您是否尝试过 css 选择器? -
你能举个例子吗?我虽然这是一个 CSS 选择器。