簡體   English   中英

使用Selenium和Python查找具有特定文本的元素

[英]Find element with certain text using Selenium with Python

目前,我正在使用它,它的工作原理。

self.browser.find_element_by_xpath('//a/h4[text()="item I want"]').click()

是否有更好的方式來選擇文字? 我覺得代碼可讀性極大地使用了xpath。

簡單的HTML示例,可以是任意數量的元素。 目的是測試添加到數據庫中的特定葡萄酒以進行功能測試。

{% extends 'wine/base.html' %}
{% block content %}
    <section id="wine_content">
        <div class="cards">

            {% for wine in wines %}
            <div class="card">
                <a href="/wine/{{ wine.id }}">
                    <h4>{{ wine.name }}</h4>
                    <p>{{ wine.vintage }}</p>
                    <p>{{ wine.description}}</p>
                </a>
            </div>
            {% endfor %}

        </div>
    </section>

{% endblock %}

如果要提高代碼可讀性,應該看到遵循頁面對象模式。

第一步是在具有顯式名稱的變量中定義定位器:

from selenium.webdriver.common.by import By
item_wine_pinot_noir = (By.XPATH, "//a/h4[text()='%s']" % "Pinneau noir")
browser.find_element(*item_wine_pinot_noir).click()

你可以嘗試這個

self.browser.find_element_by_link_text('item I want').click()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM