V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tangyuan
V2EX  ›  问与答

html页面中的xpath如何提取并使用在selenium中啊

  •  
  •   tangyuan · 2013-03-16 23:02:22 +08:00 · 3551 次点击
    这是一个创建于 4277 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在chrome中安装了XPath Helper的插件,希望提取html页面中的一个img图像,随后通过selenium (python) 选中该img按钮并click()

    XPath Helper返回的结果是:
    /html[@class='section_header_html_no_scroll']/body[@class='section_header_body_no_scroll']/div[@id='u_knowledge_part.form_scroll']/table[1]/tbody/tr/td/form[@id='u_knowledge_part.do']/span[@id='section_tab.f0fdfd492194d000cde2641d8d46d13f']/span[@id='spacer_section.f0fdfd492194d000cde2641d8d46d13f']/span[@id='f0fdfd492194d000cde2641d8d46d13f']/table[@class='wide']/tbody/tr[1]/td[@class='vsplit'][1]/table[@class='vsplit_bottom_margin']/tbody/tr[@id='element.u_knowledge_part.roles']/td[@class='input_controls']/table/tbody/tr/td[1]/span[@id='u_knowledge_part.roles_edit']/table/tbody/tr[2]/td[@class='bodySmall']/table/tbody/tr[1]/td/a/img/@src

    超复杂,直接用find_element_by_xpath果然就报错了,请问我是否该如何处理下这个xpath才能行呢?

    >>> a = driver.find_element_by_xpath("/html[@class='section_header_html_no_scro
    ll']/body[@class='section_header_body_no_scroll']/div[@id='u_knowledge_part.form
    _scroll']/table[1]/tbody/tr/td/form[@id='u_knowledge_part.do']/span[@id='section
    _tab.f0fdfd492194d000cde2641d8d46d13f']/span[@id='spacer_section.f0fdfd492194d00
    0cde2641d8d46d13f']/span[@id='f0fdfd492194d000cde2641d8d46d13f']/table[@class='w
    ide']/tbody/tr[1]/td[@class='vsplit'][1]/table[@class='vsplit_bottom_margin']/tb
    ody/tr[@id='element.u_knowledge_part.roles']/td[@class='input_controls']/table/t
    body/tr/td[1]/span[@id='u_knowledge_part.roles_edit']/table/tbody/tr[2]/td[@clas
    s='bodySmall']/table/tbody/tr[1]/td/a/img/@src")
    3 条回复    1970-01-01 08:00:00 +08:00
    vibbow
        1
    vibbow  
       2013-03-17 06:42:17 +08:00
    我去,XPath不用写那么深的啊
    //*[@class='bodySmall']/table/tbody/tr[1]/td/a/img/@src
    你可以试试这样写能不能找到唯一结果
    vibbow
        2
    vibbow  
       2013-03-17 06:43:05 +08:00   ❤️ 1
    tangyuan
        3
    tangyuan  
    OP
       2013-03-17 08:10:09 +08:00
    感谢,我后来用src属性值成功实现了定位
    "//img[@src='images/arrow_rt.gifx?v=2']"
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2579 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:22 · PVG 11:22 · LAX 19:22 · JFK 22:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.