当前位置: 首页 > 知识库问答 >
问题:

使用xpath中的start with和end函数查找selenium元素

施靖
2023-03-14

我试图提取所有这些标签,其类名符合正则表达式模式frag-0-0,frag-1-0等,从这个输入链接描述在这里

我正在尝试以下代码

driver = webdriver.PhantomJS()
    for frg in frgs:
        driver.get(URL + frg[1:])
        frags=driver.find_elements_by_xpath("//*[starts-with(@id, 'frag-') and ends-with(@id, '-0')]")
    for frag in frags:
            for tag in frag.find_elements_by_css_selector('[class^=fragmark]'):
                lst.append([tag.get_attribute('class'), tag.text])
    driver.quit()

这是我的回溯:

回溯(最近一次调用):文件“/home/ubuntu/workspace/vroniplag/vroni.py”,第116行,在op('Aaf')文件“/home/ubuntu/workspace/vroniplag/vroni.py”中,第101行,在op-plags=getplags(cd)文件“/home/ubuntu/workspace/vroniplag/vroni.py”中,第92行,在getplags=driver中。通过xpath查找元素(“//[以(@id,'frag-')开头,以(@id,'-0')]”)文件“/usr/local/lib/python2.7/dist packages/selenium/webdriver/remote/webdriver.py”,第305行,通过xpath返回self查找元素。查找元素(by=by.XPATH,value=XPATH)文件“/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py”,第778行,在查找元素“value”:value})[value']文件“/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py”,第236行,执行self。错误处理程序。在check_response Rase exception_class(message,screen,stacktrace)Seleniu中的第192行,检查_response(response)文件“/usr/local/lib/python2.7/dist packages/selenium/webdriver/remote/errorhandler.py”。常见的例外情况。InvalidSelectorException:消息:错误消息=

我做错了什么?

共有1个答案

万俟承望
2023-03-14

你可以试着替换

"//*[starts-with(@id, 'frag-') and ends-with(@id, '-0')]"

具有

"//*[starts-with(@id, 'frag-') and contains(@id, '-0')]"

由于Selenium不支持选项结尾

 类似资料:
  • 我正在编写一个可重用的代码来寻找自动化测试的元素。在上面的代码中,可以通过两种方式找到元素,我可以根据或通过文本查找它;但是我在硒中找不到任何东西,我可以用我想要的方式找到元素。 我正在使用“find_element”来查找元素,但是没有任何东西可以传递或作为论据。 我尝试了-或 无论如何,我可以在webview上找到使用Selenium驱动程序和一些文本作为其论据的元素吗??

  • 我一直在为selenium Xpath定位器使用Contains函数。到目前为止,这个功能一直有效。它目前不适用于表中的TD元素。我正在向函数发送正确的文本,所以我不明白为什么。 在Chrome上,转到此处:https://rcpsc.releasecandidate-community360qa.net/login.aspx?action=enablelogin 登录:mj4/test 向下滚动

  • 我一直试图使用硒网络驱动程序找到以下按钮: 我使用了css选择器、xpath和类,但似乎什么都不起作用(即使只是复制粘贴了inspector给出的一个。最近的一次是使用类_1ibtygfe定位div)。这是我尝试过的一切,我很绝望,我不明白为什么它找不到它,它一直向我抛出一个无此类元素异常。 这是airbnb网站,我正在尝试抓取他们的活动并点击查看更多按钮。谢谢你的帮助。

  • 我尝试使用Python selenium(新的)做一些自动化。不幸的是,检查特定网页的元素不仅仅是困难的。没有id可以使用,我尝试xpath。我想选择一个下拉列表,我检查这个元素,然后复制xpath,它是//*[@id="frmMain:purchase_criteria_tab"]/div[13]/div[1]/div/按钮 我的代码是: 我不明白这个元素有什么想法吗?提前谢谢你。

  • 我想使用selenium单击一个按钮,并在站点的下拉日期选择器中选择该按钮。 我希望单击的按钮以黄色突出显示 http://covid.gov.pk/stats/ict 我正在使用以下xpath。 //*[@id=“datepicker-1361-7562-title”]/strong 这是我正在使用的代码 问题是,我可以点击下拉菜单上的其他元素,但不能点击这个按钮。 运行代码时遇到的错误。 ch

  • 我在下面的网页中找不到链接的XPath/CSS选择器:“Select Participant”,然后我将循环遍历所有链接。 列表链接=driver.findElements(By.xpath(“//div[contains(@class='glossymenu')]//a”);迭代器iter=links.Iterator();//system.out.println(“CLASS Elements