selenium应用之“定位一组元素”

2019-03-14  本文已影响0人  rr1990

一、selenium定位一组元素

二、elements的使用

1. element与elements区别
# 获取百度网址的输入框
<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
# 使用element获取元素
element = driver.find_element_by_id(id_="kw")
print("element:", element)
print(type(element))
# 使用elements获取元素
elements = driver.find_elements_by_id(id_="kw")
print("elements:", elements)
print(type(elements))
"""结果
element: <selenium.webdriver.remote.webelement.WebElement (session="0ed710a56611b1a2f9b4de9475de9908", element="0.8557849382364942-1")>
<class 'selenium.webdriver.remote.webelement.WebElement'>
elements: [<selenium.webdriver.remote.webelement.WebElement (session="0ed710a56611b1a2f9b4de9475de9908", element="0.8557849382364942-1")>]
<class 'list'>
"""
2. elements对百度网页上的任意一个链接随机操作
<div id="u1">
  <a href="http://news.baidu.com" name="tj_trnews" class="mnav">新闻</a>
  <a href="https://www.hao123.com" name="tj_trhao123" class="mnav">hao123</a>
  <a href="http://map.baidu.com" name="tj_trmap" class="mnav">地图</a>
  <a href="http://v.baidu.com" name="tj_trvideo" class="mnav">视频</a>
...
</div>
import random
import time
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
mnav_data = driver.find_elements_by_class_name("mnav")    # 获取所有链接数据
length = len(mnav_data)
choice = random.randint(0, length-1)     # 随机值  
mnav_data[choice].click()    
time.sleep(2)
driver.quit()
上一篇 下一篇

猜你喜欢

热点阅读