selenium 元素定位的语法整理

个人翻译+整理自selenium官方说明https://selenium-python.readthedocs.io/locating-elements.html#locating-by-id

 


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

总共有以上8种常用方法,其中只有id返回单个element;其他方法可以返回单个元素,也可以返回包含所有满足条件的元素的列表。



 
   

Welcome

Continue Cancel

Site content goes here.

-选中form:login_form = driver.find_element_by_id('loginForm')

 

选中用户名:username = driver.find_element_by_name('username')

选中密码:password = driver.find_element_by_name ('password')

如果同样的name有两个或多个元素,会按照html的顺序出现:

比如 continue = driver.find_element_by_name('continue'),先选中的是登陆(login),而不是clear

 

根据超链接的显示文本,选择超链接:

continue_link = driver.find_element_by_link_text('Continue')     #一定要和文本一样,要区分大小写

 

个人感觉主要用于标题的:直接根据标签选

heading_one = driver.find_element_by_tag_name('h1')

类似的:para = driver.find_element_by_class_name('content')

 

结合使用tag和class---css选择器:

para  = driver.find_element_by_css_selector('p.content')


xpath另写一篇总结

 

 

 

 

 

你可能感兴趣的:(Python)