selenium的定位方法

您所在的位置:网站首页 查找tag_name selenium的定位方法

selenium的定位方法

2024-02-05 20:54| 来源: 网络整理| 查看: 265

  在实际工作中,有些时候定位元素使用ID、NAME、CLASS_NMAE、XPATH等方法无法定位到具体元素,会发现元素属性有很多一致的,这个时候使用单元素定位方法无法准确定位到具体元素,例如,百度首页中,以tag_name元素来定位输入框,会发现有多个相同的input标签,无法准确定位,这个时候可以使用多元素定位方法,结果以列表形式展示,找到具体在列表中的位置就可以了,多元素定位方法和单元素定位方法基本上一致,只是element变成了elements,以下是代码举例

  1.find_elements_by_tag_name:

  以获取百度输入框为例,使用tag_name方法来实现定位,它的tag_name是input,首先获取input标签,代码如下:

  

  import time  from selenium import webdriver

  browser = webdriver.Chrome()  browser.maximize_window()  browser.implicitly_wait(30)  browser.get("http://www.baidu.com")  # browser.find_element_by_xpath('//*[@id="kw"]').send_keys("selenium")  tag_names = browser.find_elements_by_tag_name("input")  for tag_name in tag_names:   print(tag_name)  time.sleep(10)

  browser.quit()  运行上述代码可以发现会输出多个element。从输出结果中可以看出,多元素定位的方法是list,百度输入框的input标签是第8位,对应list的索引是7,所以代码可以修改如下:    

 

  

  import time  from selenium import webdriver

  browser = webdriver.Chrome()  browser.maximize_window()  browser.implicitly_wait(30)  browser.get("http://www.baidu.com")  # browser.find_element_by_xpath('//*[@id="kw"]').send_keys("selenium")  # tag_names = browser.find_elements_by_tag_name("input")  # for tag_name in tag_names:  # print(tag_name)  browser.find_elements_by_tag_name("input")[7].send_keys("selenium")  time.sleep(10)

  browser.quit()  其他多元素定位方法可以参考上述方法,基本上理论都是互通的。

   



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3