51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2187|回复: 16
打印 上一主题 下一主题

【求助】底下这段代码这个 news_link 怎么老是定位不到。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-4-24 16:33:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
from  selenium  import webdriver
import  time

driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
driver.maximize_window()
#driver.set_window_size(480,800) 设置浏览器大小

search_element = driver.find_element_by_id('kw')
search_element.send_keys('selenium')

search_button = driver.find_element_by_id('su')
search_button.click()


time.sleep(5)
main_link = driver.find_element_by_link_text('百度首页')
main_link.click()
time.sleep(10)
news_link = driver.find_element_by_xpath("//div[@id='u1']/a[1]")   #就是这个了~ 我怎么老是定位不到。感觉好像写的也没错。我换成绝对路径貌似也不行
news_link = driver.find_element_by_xpath("/html/body/div[1]/div[1]/div/div[3]/a[1]")   #换成这个我也是定位不到。
news_link.click()

请问是什么原因呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情

    2024-7-8 09:00
  • 签到天数: 943 天

    连续签到: 1 天

    [LV.10]测试总司令

    2#
    发表于 2017-4-24 16:46:26 | 只看该作者
    定位的是什么把 页面元素图贴出来
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2017-4-24 16:50:16 | 只看该作者
    梦想家 发表于 2017-4-24 16:46
    定位的是什么把 页面元素图贴出来


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 06:43
  • 签到天数: 2033 天

    连续签到: 1 天

    [LV.Master]测试大本营

    4#
    发表于 2017-4-24 17:10:35 | 只看该作者
    新闻,定位不是有很多种方法吗,我的是谷歌浏览器,这种可以driver.find_element_by_xpath("//div[@id='u1']/a[1]") .click()
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-7-10 10:58
  • 签到天数: 194 天

    连续签到: 1 天

    [LV.7]测试师长

    5#
    发表于 2017-4-24 17:12:07 | 只看该作者
    用link_text
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2017-4-24 17:16:15 | 只看该作者

    我知道link_text 可以,但是我就是想要试一下xpath这个
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 06:43
  • 签到天数: 2033 天

    连续签到: 1 天

    [LV.Master]测试大本营

    7#
    发表于 2017-4-24 17:18:10 | 只看该作者
    driver.find_element_by_link_text('新闻').click()这个也可以
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 06:43
  • 签到天数: 2033 天

    连续签到: 1 天

    [LV.Master]测试大本营

    8#
    发表于 2017-4-24 17:20:24 | 只看该作者
    driver.find_element_by_partial_link_text("闻").click()
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 06:43
  • 签到天数: 2033 天

    连续签到: 1 天

    [LV.Master]测试大本营

    9#
    发表于 2017-4-24 17:21:24 | 只看该作者
    你的语句写的有问题,你自己检查一下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 06:43
  • 签到天数: 2033 天

    连续签到: 1 天

    [LV.Master]测试大本营

    10#
    发表于 2017-4-24 17:21:57 | 只看该作者
    driver.find_element_by_xpath('//*[@id="u1"]/a[1]').click()
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 06:43
  • 签到天数: 2033 天

    连续签到: 1 天

    [LV.Master]测试大本营

    11#
    发表于 2017-4-24 17:22:09 | 只看该作者
    你多了一个div
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 06:43
  • 签到天数: 2033 天

    连续签到: 1 天

    [LV.Master]测试大本营

    12#
    发表于 2017-4-24 17:26:35 | 只看该作者
    driver.find_element_by_xpath('html/body/div[2]/div[1]/div/div[3]/a[1]').click(),这个是根据你第二句的xpath定位,可以运行
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 06:43
  • 签到天数: 2033 天

    连续签到: 1 天

    [LV.Master]测试大本营

    13#
    发表于 2017-4-24 17:30:57 | 只看该作者
    div的数量要根据它实际数量来计算的,有几个算几个,同层
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
     楼主| 发表于 2017-4-24 17:37:26 | 只看该作者

    谢谢啦。明白了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
     楼主| 发表于 2017-4-25 09:24:09 | 只看该作者
    cq520131517 发表于 2017-4-24 17:30
    div的数量要根据它实际数量来计算的,有几个算几个,同层

    不对啊。大神,为什么我用firfox里面的firebug去看他的xpath 复制出来和我一样呢?
    而且我昨天看了下书,这个div[1] 中括号里面的应该是指他是第几个div吧?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2024-7-8 09:00
  • 签到天数: 943 天

    连续签到: 1 天

    [LV.10]测试总司令

    17#
    发表于 2017-5-9 10:21:34 | 只看该作者
    好多种定位方式呢 这个不可以就换一个呗
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-23 08:46 , Processed in 0.075056 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表