通过子文本搜索<Li>列表

时间:2019-07-12 15:02:35

标签: python html

所以我目前正在使用python从excel表格中导入数据,然后获取该信息并将其用于填写网页上的表格。

我遇到的问题是选择下拉菜单的配置文件。

我一直在使用Selenium库,并且可以使用find_element_by_xpath进行选择,但前提是我知道数据值,因此会为添加的每个新配置文件自动生成数据值,因此我无法使用作为一种可靠的手段。

Profile = Browser.find_element_by_xpath("/html/something/something/.....")
Profile.click()
time.sleep(0.75)  #allowing time for link to be clickable
The_Guy = Browser.find_element_by-xpath("/html/something/something/...")
The_Guy.click()

这仅适用于我想执行类似操作的已知路径

Profile = Browser.find_element_by_xpath("/html/something/something/.....")
Profile.click()
time.sleep(0.75)  #allowing time for link to be clickable
The_Guy = Browser.find_element_by_id("Caption.A")
The_Guy.click()

HTML示例


    <ul class ="list">
    <li class = "option" data-value= XXXXX-XXXXX-XXXXX-XX-XXX>
       ::marker
        Thor
    </li>
    <li class = "option" data-value= XXXXX-XXXXX-XXXXX-XX-XXX>
       ::marker
        IronMan
    </li>
    <li class = "option" data-value= XXXXX-XXXXX-XXXXX-XX-XXX>
       ::marker
        Caption.A
    </li>
    ....
    </ul>

我想做的就是通过名称(例如Caption.A)进行搜索,然后退后一步选择父Li。预先感谢

1 个答案:

答案 0 :(得分:0)

尝试使用以下xpath查找包含所需文本的li,然后单击它。示例代码:

driver.find_element(By.xpath("//li[contains(text(), 'Caption.A')]")).click()

希望它会有所帮助:)