300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > selenium提取数据之driver对象定位标签元素获取标签对象的方法

selenium提取数据之driver对象定位标签元素获取标签对象的方法

时间:2020-12-10 20:46:35

相关推荐

selenium提取数据之driver对象定位标签元素获取标签对象的方法

selenium提取数据之driver对象定位标签元素获取标签对象的方法

在selenium中可以通过多种方式来定位标签,返回标签元素对象

find_element_by_id(返回一个元素)find_element(s)_by_class_name (根据类名获取元素列表)这是效果其次最好的 鼠标右键选择复制Copy selectorfind_element(s)_by_name (根据标签的name属性值返回包含标签对象元素的列表)find_element(s)_by_xpath (返回一个包含元素的列表)这是效果最好的一个find_element(s)_by_link_text (根据连接文本获取元素列表)find_element(s)_by_partial_link_text(根据链接包含的文本获取元素列表)find_element(s)_by_tag_name (根据标签名获取元素列表)find_element(s)_by_css_selector (根据css选择器来获取元素列表)

注意: find_element和find_elements的区别: 多了个s就返回列表,没有s就返回匹配到的第一个标签对象find_element匹配不到就抛出异常,find_elements匹配不到就返回空列表by_link_text和by_partial_link_tex的区别:全部文本和包含某个文本 by_link_text若是部分文本的时候会报错以上函数的使用方法driver.find_element_by_id('id_str')

find_element(s)_by_xpath示例代码:

from selenium import webdriverurl = ''driver = webdriver.Chrome()driver.get(url)driver.find_element_by_xpath('//*[@id="kw"]').send_keys('python3')driver.find_element_by_id('su').click()

步骤图片指示:

运行结果:

全部代码展示如下:

from selenium import webdriverurl = ''driver = webdriver.Chrome()driver.get(url)# 通过xpath进行元素定位# driver.find_element_by_xpath('//*[@id="kw"]').send_keys('python3')# 通过css选择器进行元素定位# driver.find_element_by_css_selector('#kw').send_keys('python3')# 通过class属性值进行元素定位# driver.find_element_by_class_name('s_ipt').send_keys('python3')# 通过name属性值进行元素定位# driver.find_element_by_name('wd').send_keys('python3')# driver.find_elements_by_id('su').click()# 通过链接文本进行元素定位# driver.find_element_by_link_text('hao123').click()# driver.find_element_by_link_text('hao1').click() # 此时这种情况会报错# driver.find_element_by_partial_link_text('hao1').click()# 目标元素在当前html中是唯一标签的时候或者是众多定位出来的标签中的第一个的时候才使用# print(driver.find_element_by_tag_name('title'))print(driver.find_element_by_tag_name('div'))'''find_element_by_xxx: 定位到则是一个对象,定位不到则报错find_elements_by_xxx: 定位到则是一个含有元素的列表,定位不到则是一个空列表'''

find_elements_by_xpath示例代码:

from selenium import webdriverurl = '/chuzu/?utm_source=market&spm=u-2d2yxv86y3v43nkddh1.BDPCPZ_BT&PGTID=0d100000-0000-23da-518d-498c7ae1010a&ClickID=2'driver = webdriver.Chrome()driver.get(url)# 通过xpath进行元素定位xpath_list = driver.find_elements_by_xpath('/html/body/div[7]/div[2]/ul/li/div[2]/h2/a')for i in xpath_list:print(i)

运行效果如下:

步骤图片指示如下:

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