从键等于某个值的字典列表返回值列表

2024-09-29 19:22:01 发布

您现在位置:Python中文网/ 问答频道 /正文

<div id="tabs" class="clearfix">
    <ul id="remove">
        <li class="btn_arrow_tab left inactive">
            <a href="#" class="doubleText">Pay Monthly <small>View standard rates and Bolt Ons</small>
            </a>
        </li>
        <li class="btn_arrow_tab right inactive">
            <a href="#" class="doubleText">Pay &amp; Go<small>View standard rates and Bolt Ons</small>
            </a>
        </li>
    </ul>
</div>

我没有在网上拉屎的经验,并试图遵循的例子和文件点击按钮上的文字'每月支付'。然后这个按钮动态地显示一些我需要复制的文本。我如何开始点击这个,然后阅读显示的文本。我试着用硒,美素会更好吗?我一直在尝试这一行代码,但它没有起到任何作用:

driver.find_element_by_xpath("//a[text()[contains(.,'Pay Monthly')]]").click()

Tags: divviewidliultabpayclass
1条回答
网友
1楼 · 发布于 2024-09-29 19:22:01

使用绝对xpath和相对xpath的混合来定位元素总是一种好的做法。你知道吗

首先应该找到一个具有唯一标识符的父级。您提到的元素有两个具有静态id的父项。一个是根div,另一个是ul。你知道吗

现在,我们可以按照您的路径并使用文本查找元素。以下任何一项都应起作用。你知道吗

driver.find_element_by_xpath("//div[@id='tabs']//a[text()[contains(.,'Pay Monthly')]]").click()
driver.find_element_by_xpath("//ul[@id='remove']//a[text()[contains(.,'Pay Monthly')]]").click()

但是,如果项目是静态元素,并且考虑到您的目标,我建议使用以下方法。在xpath返回多个元素时为其编制索引。你知道吗

myElement = driver.find_element_by_xpath("//div[@id='tabs']//a[@href='#'][1]")
myElement.click()

然后你就可以捕捉文本了。您可以放置一些wait,以确保文本得到更改。你知道吗

myText = myElement.text

如果不行就告诉我。你知道吗

相关问题 更多 >

    热门问题