Webelement内的xpath查找硒

我有此页面:


<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

问题是,我通过xpath找到了所有页面中的元素列表(WebElement),现在我想通过xpath查找元素部分而不是所有页面中的所有特定元素。


怎么了?


编辑1


这样可以解决问题(现在是xpath启动白点。):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

在这里可以找到以下解释:http : //selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.find_element_by_xpath


喵喵时光机
浏览 195回答 2
2回答

莫回无

可能会工作sections = driver.find_elements_by_xpath("//div[@class='section']")for i, section in enumerate(sections):&nbsp; &nbsp; section_name = section.text&nbsp; &nbsp; links = section.find_elements_by_xpath("//div[@class='section'][%s]//a" % str(i+1))

神不在的星期二

这是你想要的?您可以尝试以下方法://*[@id="container"]/div/h1/following-sibling::li/ul
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python