这是我试图抓取的网站中的元素示例。 它们都没有 id 或名称,它们只是有很长的垃圾名称,如下例所示。
<h1 class="product-name__item product-name__item--name" title="BOEUF HACHE MAIGRE 1 LB">BOEUF HACHE MAIGRE 1 LB</h1>
我尝试了两种方法,但遇到了 2 个不同的错误。
第一次尝试:
我尝试通过类名找到它。这会导致超时异常。
try:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CLASS_NAME, "product-name__item product-name__item--name"))
)
print(element.text)
finally:
driver.quit()
第二次尝试:
我尝试通过css选择器找到它,因为我认为类名包含空格有问题。这导致了以下错误:TypeError: 'str' object is not callable
try:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located(By.CSS_SELECTOR("[class='product-name__item product-name__item--name']"))
)
print(element.text)
finally:
driver.quit()
你有解决办法吗? 谢谢您,祝您有愉快的一天!
最佳答案
使用以下 css
选择器。
try:
element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".product-name__item.product-name__item--name")))
print(element.text)
except:
driver.quit()
关于Python Selenium - 尝试按类名查找元素时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61511353/