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

在Webelement中通过xpath查找Selenium

经景辉
2023-03-14

我有这一页:

<html>
<head>
    <title>Document Example</title>
</head>
<body>
    <div id="container">
        <div class="section">
            <h1>Section 1</h1>
            <li class="links">
                <ul><a href="link.com/1"></a></ul>
                <ul><a href="link.com/2"></a></ul>
                <ul><a href="link.com/3"></a></ul>
            </li>
        </div>
        <div class="section">
            <h1>Section 2</h1>
            <li class="links">
                <ul><a href="link.com/4"></a></ul>
                <ul><a href="link.com/5"></a></ul>
                <ul><a href="link.com/6"></a></ul>
            </li>
        </div>
        <div class="section">
            <h1>Section 3</h1>
            <li class="links">
                <ul><a href="link.com/7"></a></ul>
                <ul><a href="link.com/8"></a></ul>
                <ul><a href="link.com/9"></a></ul>
            </li>
        </div>
    </div>
</body>
</html>

我想按节群链接:

driver.get("mypage.com")

sections = driver.find_elements_by_xpath("//div[@class='section']")
for section in sections:
    section_name = section.find_element_by_xpath("//h1[@class='name']").get_attribute('innerHTML') #This fails

    links = section.find_elements_by_xpath("//ul/a") #This find all links in page, not only links in section
sections = driver.find_elements_by_xpath("//div[@class='section']")
for section in sections:
    section_name = section.find_element_by_xpath(".//h1[@class='name']").get_attribute('innerHTML') #This fails

    links = section.find_elements_by_xpath(".//ul/a") #This find all links in page, not only links in section

下面是y在以下内容中找到的解释:http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.webelement.find_element_by_xpath

共有1个答案

方权
2023-03-14

可能有用

sections = driver.find_elements_by_xpath("//div[@class='section']")
for i, section in enumerate(sections):
    section_name = section.text
    links = section.find_elements_by_xpath("//div[@class='section'][%s]//a" % str(i+1))
 类似资料:
  • 我想从网站上提取一些赔率: https://www.oddsportal.com/soccer/europe/champions-league-2015-2016/real-madrid-manchester-city-dhjzn1pn/#1x2;2

  • 请帮助我,我正在尝试选择一个图片,这是一个链接(一个网站上的培训师) 这是我的代码:

  • 我使用了以下代码, 这会引发错误“表达式不是合法表达式”。“代码:“12”nsresult:“0x805b0033(SyntaxError)”位置:”“]”。 当我缩小搜索范围到 它工作正常,我得到了特定行中的所有文本。然而,当我将其扩展到特定于第1个代码中所示的列时,我得到了错误。 html代码段,

  • 我是DOM查询的新手,我想知道是否可以通过Xpath直接查询DOM元素,类似于下面提到的代码? 谢谢

  • 问题内容: 我想找到使用XPath基于文本的任何WebElement。 基本上,我要通过文本检索的WebElement包含一个输入元素。 我目前正在使用, 找不到上面的WebElement,但通常可以检索所有 其他Web元素。 甚至, 没有给我任何结果。虽然我对精确的文字匹配感兴趣。 我正在寻找一种通过文本来查找Web元素的方法,该文本 对Web元素内部存在的元素不重要。如果文本匹配,则应返回 W

  • 我想找到任何基于使用XPath的文本的WebElement。 我感兴趣的网页元素, 它的HTML, 基本上,我试图通过文本检索的WebElement包含一个输入元素。 我目前使用的, 它找不到上面的WebElement,但通常可以检索所有其他web元素。 即使 没有给我任何结果。虽然我对精确的文本匹配感兴趣。 我正在寻找一种通过文本查找web元素的方法,该文本与web元素中存在的元素无关。如果文本