Python Selenium选择动态下拉框值,定位动态值的解决方法

这篇具有很好参考价值的文章主要介绍了Python Selenium选择动态下拉框值,定位动态值的解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、问题描述

页面中有多个下拉框,每个下拉框的值都是点击下拉框后,调取后台接口动态获取,所有元素的属性都相同,通过xpath获取的是@id+,该id每次加载时也是动态生成的,所以无法精准定位需要的下拉值。

selenium点击下拉框并选择值,selenium,测试工具

2、解决办法

        通过分析,首先排除精确定位,可以先获取下拉框所有的值,通过for循环遍历,找到目标值后再click。方法很多,仅供参考。文章来源地址https://www.toymoban.com/news/detail-611242.html

from selenium import webdriver
from selenium.webdriver.common.by import By

# 操作Chrome浏览器,开始执行
browser = webdriver.Chrome()
browser.implicitly_wait(5)
browser.maximize_window()
browser.get('url')
#   点击下拉框,使页面加载动态下拉框值
browser.find_element(By.XPATH, '//*[@id="root"]/div/div/div/section/mai/div/div[2]/div/div[1]').click()
#   通过CSS_SELECTOR,根据下拉框值的共同class属性获取所有值,find_elements返回的是列表[]
elements = browser.find_elements(By.CSS_SELECTOR, 'li.ant-select-dropdown-menu-item')
#   遍历列表,element.text获取列表值并与实际需要选择的值比对,比对成功后点击该选项值
for element in elements:
    print(element.text)
    if element.text == '业务领域aa000001':    #    可以是==变量
        element.click()    #    点击该选项

到了这里,关于Python Selenium选择动态下拉框值,定位动态值的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python下拉框定位并选择

    在做自动化时遇到了这样的选择框 select提供了3种方法选择,我这里用的是by_index: select_by_index(index) ——通过选项的顺序,第一个为 0 select_by_value(value) ——通过value属性 select_by_visible_text(text) ——通过选项可见文本

    2024年02月13日
    浏览(36)
  • 在 Python 中使用 Selenium 从下拉菜单中选择选项

    Selenium 包在 Python 中用于在 Web 浏览器上使用 Python 脚本自动执行任务。 这可以像单击网页上的按钮一样简单,也可以像在给定网页上填写表格一样复杂。 本篇文章将讨论使用 Python 中的 selenium 从网页上的下拉菜单中进行选择。 首先,我们需要启动 webdriver 类的对象来创建浏

    2024年01月20日
    浏览(43)
  • 使用 Python Selenium 提取动态生成下拉选项

    在进行网络数据采集和数据分析时,处理动态生成的下拉菜单是一个常见的挑战。Selenium是一个强大的Python库,可以让你自动化浏览器操作,比如从动态生成的下拉菜单中选择选项。这是一个常见的网页爬虫和数据收集者面临的挑战,但是Selenium让它变得简单。 你可以使用

    2024年02月09日
    浏览(53)
  • selenium自动化元素定位之下拉列表框

    目录 一、查看被测应用元素信息 二、Select的下拉框怎么定位 其思路也是获取下拉的选项框,循环遍历寻找匹配的index,找到便设置成选中属性 三、非select的下拉框如何定位?  在编写webUI自动化过程中,有些元素的定位,不能直接通过id、name等快速定位到。这些特殊的元素

    2024年02月11日
    浏览(55)
  • <j-editable-table 根据 下拉框值 来隐藏 列

    this.meTable.columns[4].type = FormTypes.input this.meTable.columns[3].type = FormTypes.input

    2024年02月16日
    浏览(32)
  • selenium定位非select标签的下拉框(div/ul/li)

    1.定位下拉框,如果开发者选项是select标签的,我们一般会使用以下方法进行定位:  2.针对不是select属性的下拉框,如果再使用以上方法进行定位并选择可选项,就会报错,例如下拉框是在div标签,div标签下有ul,ul下有li可选项,这时候再使用1中的方法进行定位并选择,就

    2024年02月11日
    浏览(44)
  • Selenium基础篇之Select下拉列表选择

    大家好,我是空空star,本篇给大家分享一下Selenium基础篇之Select下拉列表选择。 本篇使用的selenium版本如下: Version: 4.8.2 本篇使用的浏览器如下: 在Selenium中,Select是一个非常有用的类,它用于操作HTML页面中的下拉列表。使用Select可以方便地选择下拉列表中的选项,或者获

    2023年04月08日
    浏览(40)
  • 开学了软测的同学卷起来--selenium元素及元素组定位+下拉框+简单的实战

    from selenium import webdriver fox = webdriver.Firefox() fox.get(‘https://baidu.com’) fox.find_element_by_xpath(‘//*[@id=“kw”]’).send_keys(‘北海有渔啊’) fox.find_element_by_id(‘su’).click() 第二种也许你会看不懂,看图你就懂了!这种方法我觉的还是比较简便的,xpath万能的定位方式!!! from selen

    2024年03月25日
    浏览(109)
  • selenium自动化遍历并选择select下拉框每一个元素

    我们想去遍历选择select下拉框的所有的元素的时候,这时候,可以先获取下拉框的长度,然后使用for循环一个个选择,使用len(Select(driver.find_element(By.ID,\\\"dj\\\")).options)方法用来统计下拉框元素的个数,然后加一个for循环一个个的遍历,具体方法如下: 备注: 调试过程中遇到报错

    2024年02月12日
    浏览(41)
  • Selenium基础 — CSS选择器定位大全

    css选择器策略 示例 说明 #id #telA 选择id=\\\"telA\\\"的所有元素。 .class .telA 选择 class=\\\"telA”的所有元素。 [属性名=属性值] [name=telA] 除了id和class属性,其他属性的定位格式 [attribute] [target] 选择带有target 属性所有元素。 * * 选择所有元素。 css选择器策略 示例 说明 [attribute^=value] a[s

    2023年04月10日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包