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

时间:2017-04-05 15:54:55

标签: python selenium web-scraping automation ui-automation

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

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

网页快照如下: http://docs.sitefinity.com/feather-use-the-relative-routes-api

我的问题是我找不到"预约约会"页面源中的文本以提取其ID。我怎样才能找到它的ID?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

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

在页面中定位元素有各种策略。

  

在页面中查找元素的方法:

     
      
  • 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
  •   
     

找到多个元素

     
      
  • 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