在网页中查找要与 selenium 一起使用的元素的 ID

Find the ID of an element in a web page to use with selenium

我想在Python中使用以下代码自动点击网页中的元素:

driver.find_element_by_id("book appointment").click()

网页截图如下:

我的问题是我无法在页面源中找到 "Book Appointment" 文本来提取其 ID。我怎样才能找到它的 ID?

find_element_by_id 需要 id 作为输入。您正在将文本内容作为输入。

您可能想尝试一些不同的选择器。可能是 find_element_by_link_text.

在页面中定位元素的策略多种多样。

Methods to locate elements in a page:

  • find_element_by_id
  • find_element_by_name
  • find_element_by_xpath
  • find_element_by_link_text
  • find_element_by_partial_link_text
  • find_element_by_tag_name
  • find_element_by_class_name
  • find_element_by_css_selector

To find multiple elements

  • find_elements_by_name
  • find_elements_by_xpath
  • find_elements_by_link_text
  • find_elements_by_partial_link_text
  • find_elements_by_tag_name
  • find_elements_by_class_name
  • find_elements_by_css_selector

有关每个选择器的参考,您可以参考 the link

您提供的 html 代码不包含该元素的任何 Id 属性,因此无法通过 ID 定位该元素。或者,您可以使用 xpath 选择器找到带有文本的元素。试试下面的代码找到相同的

driver.find_element_by_xpath("//a[contains(.,'Book Appointment')]")