selenium的控件定位xpath以及css selector

1.xpath简介

      表达式                                                               说明

/bookstore/book[1]                            选取属于bookstore子元素的第一个book元素

/bookstore/book[last()]                      选取属于bookstore子元素的最后一个book元素

/bookstore/book[last()-1]                   选取属于bookstore子元素的倒数第二个book元素

//title[@span="aa"]                            选取所有title元素,且这些元素拥有值为span = aa的属性

/bookstore/book[sale>30]                  选取属于bookstore子元素的所有book元素,且销售量大于30

nodename                                         选取此节点的所有子节点

   /                                                      从根节点开始选取

  //                                                      从匹配的当前节点中选取,不考虑其位置

  .                                                       选取当前节点

  ..                                                      选取当前节点的父节点

@                                                      选取属性

2.举例说明(以百度搜索框为例)

                                 在页面id和name的值是唯一的

(1)百度搜索框

     

(2)百度的导航栏(最后一个,$x("//*[@id='s_tab']//a[last()]"))

   

3.css selector 定位

         例子

        .class                        .info             选择class= "info"的所有元素

        #id                             #info            选择id ="info"的所有元素

     element                           p               选择所有<p>元素

          *                                  *                选择所有元素

 element,element               div,p            选择所有<p>和<div>的元素

 element  element             div  p            选择所有<div>元素内部的所有<p>的元素

element > element            div>p            选择父元素为<div>元素的所有<p>的元素

element + element            div+p            选择紧接在<div>元素之后的所有<p>的元素

  [ attrubite]                         target          选择带有target熟悉的所有元素

[attrubite =value]        [attrubite =aa]       选择 attrubite =“aa”的所有元素

nth:child(n)                  p:nth-child(2)       选择属于其父元素的第二个子元素的每个<p>元素

element1~element2           p~ul              选择前面有<p>元素的每个<ul>元素  

        以百度搜索框为例             

    

 

(2)百度的导航栏(定位资讯,在此要注意子元素的父元素,以及其子元素的第几个)

    

 如果是最后一个元素,定位方式为

 

                                    

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您介绍一下如何使用Selenium库和XPATHCSS选择器来爬取携程网信息。 首先,您需要安装Selenium库和浏览器驱动程序。Selenium库可以通过pip安装,而浏览器驱动程序需要根据您使用的浏览器进行选择和下载。这里以Chrome浏览器为例,您可以下载Chrome浏览器驱动程序。 接下来,您需要使用Selenium库来启动浏览器并进入携程网。示例代码如下: ```python from selenium import webdriver driver = webdriver.Chrome('/path/to/chromedriver') # 指定浏览器驱动程序路径 driver.get('https://www.ctrip.com/') # 进入携程网首页 ``` 然后,您可以使用XPATHCSS选择器来定位页面元素并提取数据。以下是一个使用XPATH选择器来提取携程网搜索框中的关键字的示例代码: ```python from selenium import webdriver driver = webdriver.Chrome('/path/to/chromedriver') driver.get('https://www.ctrip.com/') # 使用XPATH选择器定位搜索框元素,并输入关键字 search_box = driver.find_element_by_xpath('//input[@id="HD_CityName"]') search_box.send_keys('北京') ``` 同样地,您也可以使用CSS选择器来定位页面元素。以下是一个使用CSS选择器来提取携程网搜索框中的关键字的示例代码: ```python from selenium import webdriver driver = webdriver.Chrome('/path/to/chromedriver') driver.get('https://www.ctrip.com/') # 使用CSS选择器定位搜索框元素,并输入关键字 search_box = driver.find_element_by_css_selector('#HD_CityName') search_box.send_keys('北京') ``` 除了以上示例代码,您还可以使用Selenium库和XPATHCSS选择器来定位其他页面元素并提取数据。希望以上内容能够对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值