首页 > 解决方案 > 我在 python selenium 中找不到以下元素

问题描述

我无法选择(单击)标题和图片中的元素:

在此处输入图像描述

该元素是表中的一行。

这是元素:

<span _ngcontent-c37="" class="telno"> +529999111118 </span>

我试过了:

number_element = driver.find_element_by_xpath("//button[contains(.,'+529999111118')]")

driver.execute_script("arguments[0].click();", number_element)

那是我得到的错误:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//button[contains(.,'+549999111112')]"}
  (Session info: chrome=74.0.3729.131)
  (Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Linux 4.15.0-47-generic x86_64)

标签: pythonselenium

解决方案


您提供的标签是错误的button,不是span

number_element=driver.find_element_by_xpath("//span[contains(.,'+529999111118')]")
driver.execute_script("arguments[0].click();", number_element)

我建议使用WebdriverWaitelement_to_be_clickable

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.XPATH,"//span[@class='telno'][contains(.,'+529999111118')]"))).click()

推荐阅读