WebDriver无法从Safari的下拉菜单中选择第一个元素

问题描述 投票:0回答:1

我在页面上有以下HTML,这是一个下拉菜单,我需要从中选择要搜索的第一个元素。

<div class="tt-menu" style="position: absolute; top: 100%; left: 0px; z-index: 100;">
<div class="tt-dataset tt-dataset-omnisearch">
    <div class="clearfix location tt-suggestion tt-selectable">
        <div class="pull-left icon-container"><span class="icon"></span></div>
        <div class="text-container">
            <div><strong class="tt-highlight">Destin</strong>, Florida, United States</div>
        </div>
    </div>
    <div class="clearfix poi tt-suggestion tt-selectable">
        <div class="pull-left icon-container"><span class="icon"></span></div>
        <div class="text-container">
            <div><strong class="tt-highlight">Destin</strong> Marina, United States</div>
        </div>
    </div>
    <div class="clearfix charter tt-suggestion tt-selectable">
        <div class="pull-left icon-container"><span class="icon"></span></div>
        <div class="text-container">
            <div><strong class="tt-highlight">Destin</strong>’s Ultimate Guide Service – The Soggy B, Fort Walton Beach, Florida, United States</div>
        </div>
    </div>
    <div class="clearfix charter tt-suggestion tt-selectable">
        <div class="pull-left icon-container"><span class="icon"></span></div>
        <div class="text-container">
            <div><strong class="tt-highlight">Destin</strong>'s Boggy Bayou Inshore Charters, Santa Rosa Beach, Florida, United States</div>
        </div>
    </div>
    <div class="clearfix charter tt-suggestion tt-selectable">
        <div class="pull-left icon-container"><span class="icon"></span></div>
        <div class="text-container">
            <div><strong class="tt-highlight">Destin</strong> Backcountry Fishing, <strong class="tt-highlight">Destin</strong>, Florida, United States</div>
        </div>
    </div>
</div>

因此,在这种情况下,我想使用Destin,Florida,美国选择元素。这适用于Chrome和Firefox,但是无论使用Safari进行选择时,无论我写什么,它始终会选择第二个元素。我尝试使用完整的xpath,完整的CSS选择器和自定义CSS选择器,但它从不选择元素。这是代码(在所有其他浏览器上都可以使用):

    def select_first_search_term(self) -> None:
        self.remote_web_driver.find_element_by_class_name('tt-suggestion').click()

有问题的网站是:https://fishingbooker.com,它是主页上的菜单。Safari有理由这么做吗?

python python-3.x selenium selenium-webdriver safari
1个回答
0
投票

目标搜索输入XPATH:

driver.find_element_by_xpath("//input[@id='search-form-input']").send_keys("destin")

第一个结果XPATH:

driver.find_element_by_xpath("//div[@class='clearfix location tt-suggestion tt-selectable']").click()
© www.soinside.com 2019 - 2024. All rights reserved.