300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > selenium 定位方式5

selenium 定位方式5

时间:2024-03-30 16:55:39

相关推荐

selenium 定位方式5

Selenium 8大定位方法中的最后一个find_element_by_tag_name,这是所有定位方式中最不理想的定位方式,主要是因为一个页面中,存在相当多的相同的标签,基本做不到唯一定位,通常只能默认选择第一个定位到的元素。

# find_element_by_tag_name 的应用:根据 tag_name 定位元素from selenium import webdriver # 导入 webdriver 模块from time import sleep # 导入 sleep 模块,可以使程序强制休眠driver = webdriver.Chrome() # 调用 Chrome 浏览器driver.maximize_window() # 窗口最大化driver.get('/') # 打开 百度element = driver.find_element_by_tag_name("textarea") # 定位 textarea 标签元素print(element.get_attribute("id")) # 打印 该元素 的 id 属性值elements = driver.find_elements_by_tag_name("textarea") # 查找页面上所有的 textarea 标签元素print(elements) # 打印driver.quit() # 关闭浏览器

除了 8 种元素定位方式以外,还可以通过其他的形式定位元素。

通过父级定位元素来定位目标元素

在目标元素不方便定位时,可以先定位到它的父级元素,再通过已经定位的父级元素,对目标元素进行定位。

实际应用

# 通过已经定位到的父级元素定位目标元素from selenium import webdriver # 导入 webdriver 模块from time import sleep # 导入 sleep 模块,可以使程序强制休眠driver = webdriver.Chrome() # 调用 Chrome 浏览器driver.maximize_window() # 窗口最大化driver.get('/') # 打开 百度sleep(2) # 强制休眠 2 秒father_element = driver.find_element_by_id("form") # 定位找到父级元素target_element = father_element.find_element_by_id("kw") # 通过父级元素定位目标元素target_element.send_keys("自动化测试") # 输入sleep(2) # 强制休眠 2 秒driver.quit() # 关闭浏览器

通过元素组下标定位

Selenium 的 8 大定位方式,都有复数形式, 例如:

find_elements_by_id

find_elements_by_class_name

find_elements_by_xpath

……

以上的都能返回一个元素组(列表),通过元素组的下标,定位目标元素。

# 通过元素组下标定位from selenium import webdriver # 导入 webdriver 模块from time import sleep # 导入 sleep 模块,可以使程序强制休眠driver = webdriver.Chrome() # 调用 Chrome 浏览器driver.maximize_window() # 窗口最大化driver.get('/') # 打开 百度sleep(2) # 强制休眠 2 秒elements = driver.find_elements_by_xpath("//div[@id='s-top-left']/a") # 定位元素组print(type(elements)) # 打印 elements 类型,<class 'list'># 打印元素组中每个元素中的文本for element in elements:print(element.text)element1 = elements[0] # 通过 下标0 定位到第一个元素element1.click() # 点击sleep(2) # 强制休眠 2 秒driver.quit() # 关闭浏览器

总结

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。