weixin_42196168 2023-04-05 00:15 采纳率: 33.3%
浏览 9

playwright 获取select并设置值为2

playwright Python或者C#获取select并设置值为2 ,select id是动态的,麻烦各位大神,感谢
代码如下。
现知道从浏览器复制xpath为://[@id="cart-items-item-3da31afc-4312-4b5c-a264-a7b773cf69bc-itemQuantity"]
或者取上级://
[@id="bag-content"]/ol/li[2]/div/div[2]/div[1]/div[2]/div/div/div
请问有没有更好,更灵活的方式,获取select,并赋值?

<ol class="rs-bag-items rs-iteminfos" role="list" data-autom="bag-items">
    <li class="rs-bag-item rs-iteminfo-wrap" data-autom="bag-item-1" role="listitem">
        <div class="rs-iteminfo row" tabindex="-1">
            <div class="rs-iteminfo-image column large-3 small-12" aria-hidden="true">
            </div>
            <div class="rs-iteminfo-content column large-9 small-12">
                <div class="rs-iteminfo-details">
                    <div class="rs-iteminfo-title-wrapper large-6 small-12">
                    </div>
                    <div class="rs-iteminfo-quantity">
                        <div class="rs-quantity">
                            <div class="rs-quantity-selector">
                                <div class="rs-quantity-wrapper form-dropdown">
                                    <select class="rs-quantity-dropdown form-dropdown-select" id="cart-items-item-80874213-8b1b-439c-bb1c-935555d07743-itemQuantity" data-autom="item-quantity-dropdown">
                                        <option value="1" aria-label="1 ,  数量">1</option>
                                        <option value="2" aria-label="2 ,  数量">2</option>
                                    </select>
                                </div>
                            </div>

                        </div>
                        <div class="rs-iteminfo-pricedetails large-last"><div class="rs-iteminfo-price"><p>RMB 1,999</p></div></div>
                    </div>
                </div>
            </div>
        </div>
    </li>
    <li class="rs-bag-item rs-iteminfo-wrap" data-autom="bag-item-2" role="listitem">
        <div class="rs-iteminfo row" tabindex="-1">
            <div class="rs-iteminfo-image column large-3 small-12" aria-hidden="true">
            </div>
            <div class="rs-iteminfo-content column large-9 small-12">
                <div class="rs-iteminfo-details">
                    <div class="rs-iteminfo-title-wrapper large-6 small-12">
                    </div>
                    <div class="rs-iteminfo-quantity">
                        <div class="rs-quantity">
                            <div class="rs-quantity-selector">
                                <div class="rs-quantity-wrapper form-dropdown">
                                    <select class="rs-quantity-dropdown form-dropdown-select" id="cart-items-item-3da31afc-4312-4b5c-a264-a7b773cf69bc-itemQuantity" data-autom="item-quantity-dropdown">
                                        <option value="1" aria-label="1 ,  数量">1</option>
                                        <option value="2" aria-label="2 ,  数量">2</option>
                                    </select>
                                </div>
                            </div>

                        </div>
                        <div class="rs-iteminfo-pricedetails large-last"><div class="rs-iteminfo-price"><p>RMB 1,999</p></div></div>
                    </div>
                </div>
            </div>
        </div>
    <li>
</ol>
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-06 19:18
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 你可以看下这个问题的回答https://ask.csdn.net/questions/1058620
    • 除此之外, 这篇博客: 2. 爬取网站实训图片并下载中的 xpath匹配 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      在我们的爬虫里,用了xpath来提取html里的标签和内容,在这里我将用例子说明xpath的用法。
      首先,我们要分析网页源代码,找出我们要获取的数据的位置,如下图红框部分便是图片的部分url链接,我们的任务就是把它提取出来。
      在这里插入图片描述
      通过观察我们发现,它是class="box"的div下的a标签下的img的src属性的值,我们要得到它,写法如下:

      img_srcs = response.xpath('//div[@class='box']/div/a/img/@src').extract()
      

      其中//代表相对路径,[@class="box"]指明了div的class名(选取div时要选有代表性的,能定位到你需要的数据),我们便可以在网页的源码中定位到所有网页图片相似的位置,通过@我们可以获取src属性的值,.extract()返回含有网页图片链接信息的数组。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 4月5日

悬赏问题

  • ¥15 vue使用gojs,需求在link中的虚线上添加方向箭头
  • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红