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 ,  数量">1option>
                                        <option value="2" aria-label="2 ,  数量">2option>
                                    select>
                                div>
                            div>

                        div>
                        <div class="rs-iteminfo-pricedetails large-last"><div class="rs-iteminfo-price"><p>RMB 1,999p>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 ,  数量">1option>
                                        <option value="2" aria-label="2 ,  数量">2option>
                                    select>
                                div>
                            div>

                        div>
                        <div class="rs-iteminfo-pricedetails large-last"><div class="rs-iteminfo-price"><p>RMB 1,999p>div>div>
                    div>
                div>
            div>
        div>
    <li>
ol>
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答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()返回含有网页图片链接信息的数组。


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