Python Selenium 发送亚马逊卖家产品定制消息

Python Selenium Send Amazon Seller Product Customization Message

我一直在写一个 Amazon 机器人的症结所在。我已经阅读了很多关于潜在问题的文章,而且我还尝试测试了各种解决方法的组合,不幸的是,这些都没有解决问题。

我要完成的任务是向亚马逊卖家发送 post-采购订单定制消息。编程流程如下:

  1. 点击“订单问题”
  2. 点击“其他问题”
  3. 点击“联系卖家”
  4. 单击“Select 原因”下拉菜单
  5. 点击“产品定制”下拉选项
  6. 点击“描述您的问题”文本区域 <-- 问题在这里
  7. 点击“发送”按钮

熟悉亚马逊网站这一部分的人会明白我指的是什么。

文本区域出现问题,在单击发送按钮时无法验证,但是在检查屏幕截图后,文本区域中的文本是可见的。我将提供文本区域的 DOM,看看这是否有助于任何人深入了解这里可能发生的事情:

<div id="CONTACT_SELLER_OTHER_form" class="a-row">
            
            <div class="a-section">
                <div class="a-row">
                    <p class="a-spacing-small">
                        <span id="CONTACT_SELLER_OTHER_prompt">Contact the seller and allow the seller two days to get back to you</span>
                    </p>

                    

                    
                    

                    <span class="a-declarative" data-action="text-changed" data-csa-c-type="widget" data-csa-c-func-deps="aui-da-text-changed" data-text-changed="{&quot;inputPrefix&quot;:&quot;CONTACT_SELLER_OTHER&quot;}" data-csa-c-id="fetpfe-xkh75w-hthgz8-ywllw">
                        <div class="a-input-text-wrapper"><textarea maxlength="4000" placeholder="Describe your issue" id="CONTACT_SELLER_OTHER_changeBody" rows="4" name="changeText" spellcheck="true"></textarea></div>
                    </span>
                    <div class="a-column a-span12 a-text-right a-spacing-medium">
                        <span id="CONTACT_SELLER_OTHER_remChars" class="a-size-small a-color-tertiary">
                            4000
                        </span>
                        <span class="a-size-small a-color-tertiary">
                            characters remaining
                        </span>
                    </div>

                    
                    
                    
                    

                    <div class="a-row">
                        <span class="a-declarative" data-action="clickable-action-declarative" data-csa-c-type="widget" data-csa-c-func-deps="aui-da-clickable-action-declarative" data-clickable-action-declarative="{}" data-csa-c-id="8mu792-691pf8-tyadjf-wkj88p">
                            <span class="a-declarative" data-action="submit-problem" data-csa-c-type="widget" data-csa-c-func-deps="aui-da-submit-problem" data-submit-problem="{&quot;reason&quot;:&quot;OTHER&quot;,&quot;problem&quot;:&quot;{\&quot;id\&quot;:\&quot;amzn1.pwo.v1.2021362jn4mw8uqqzgnaethmlm8ow\&quot;,\&quot;version\&quot;:\&quot;1\&quot;,\&quot;amount\&quot;:33.95,\&quot;baseCurrency\&quot;:\&quot;USD\&quot;,\&quot;orderId\&quot;:\&quot;112-9877121-7313815\&quot;,\&quot;countryCode\&quot;:\&quot;US\&quot;,\&quot;submittedTime\&quot;:\&quot;2021-12-28T06:21:15.238Z\&quot;,\&quot;comments\&quot;:\&quot;Please cancel this order. Thanks!\&quot;,\&quot;submitter\&quot;:{\&quot;role\&quot;:\&quot;Claimant\&quot;,\&quot;login\&quot;:\&quot;unknown\&quot;,\&quot;customerId\&quot;:\&quot;A152MSST3GCKQF\&quot;},\&quot;marketplaceId\&quot;:\&quot;ATVPDKIKX0DER\&quot;,\&quot;claimantId\&quot;:\&quot;A152MSST3GCKQF\&quot;,\&quot;respondentId\&quot;:\&quot;A1DI45MUWFG9A6\&quot;,\&quot;onscreenResolution\&quot;:false,\&quot;claimRequesterId\&quot;:\&quot;A23ZP02F085DFQ\&quot;,\&quot;avenue\&quot;:{\&quot;avenueCode\&quot;:\&quot;CONTACT_SELLER\&quot;,\&quot;displayName\&quot;:\&quot;Contact seller\&quot;,\&quot;displaySubText\&quot;:\&quot;\&quot;,\&quot;actionText\&quot;:\&quot;Contact seller\&quot;,\&quot;postSubmissionConfirmationText\&quot;:\&quot;Message sent\&quot;,\&quot;postSubmissionConfirmationSubText\&quot;:\&quot;If the seller does not resolve your issue within 48 hours of the first message, you can revisit this page to check if you are eligible to request an A-to-z Guarantee refund.\&quot;},\&quot;reason\&quot;:{\&quot;reasonCode\&quot;:\&quot;OTHER\&quot;,\&quot;detailCode\&quot;:\&quot;CANCEL_ORDER\&quot;,\&quot;displayString\&quot;:\&quot;Other issue\&quot;,\&quot;displayDetailText\&quot;:\&quot;Request cancellation\&quot;},\&quot;csaState\&quot;:{},\&quot;claimantState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;respondentState\&quot;:{},\&quot;investigationState\&quot;:{},\&quot;changeOptions\&quot;:[{\&quot;actor\&quot;:{\&quot;role\&quot;:\&quot;Claimant\&quot;,\&quot;login\&quot;:\&quot;unknown\&quot;,\&quot;customerId\&quot;:\&quot;A152MSST3GCKQF\&quot;},\&quot;changeDate\&quot;:\&quot;2021-12-28T06:21:15.238Z\&quot;,\&quot;reason\&quot;:\&quot;PROVIDE_INFORMATION\&quot;,\&quot;description\&quot;:\&quot;Claimant changing state to 'ProblemState(csaState=Pending, claimantState=Pending, respondentState=Pending, investigationState=ActionRequired, legacyStatus=INVG)' via HealBeam; reason=PROVIDE_INFORMATION\&quot;,\&quot;csaState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;claimantState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;respondentState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;investigationState\&quot;:{\&quot;status\&quot;:\&quot;ActionRequired\&quot;},\&quot;commentsRequired\&quot;:true,\&quot;legacyStatus\&quot;:\&quot;INVG\&quot;,\&quot;claimOpsOverride\&quot;:false},{\&quot;actor\&quot;:{\&quot;role\&quot;:\&quot;Claimant\&quot;,\&quot;login\&quot;:\&quot;unknown\&quot;,\&quot;customerId\&quot;:\&quot;A152MSST3GCKQF\&quot;},\&quot;changeDate\&quot;:\&quot;2021-12-28T06:21:15.238Z\&quot;,\&quot;reason\&quot;:\&quot;CANCEL_PROBLEM\&quot;,\&quot;description\&quot;:\&quot;Claimant changing state to 'ProblemState(csaState=Resolved, claimantState=Resolved, respondentState=Resolved, investigationState=ActionRequired, legacyStatus=BWDQ)' via HealBeam; reason=CANCEL_PROBLEM\&quot;,\&quot;csaState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;claimantState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;respondentState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;investigationState\&quot;:{\&quot;status\&quot;:\&quot;ActionRequired\&quot;},\&quot;commentsRequired\&quot;:true,\&quot;legacyStatus\&quot;:\&quot;BWDQ\&quot;,\&quot;claimOpsOverride\&quot;:false},{\&quot;actor\&quot;:{\&quot;role\&quot;:\&quot;Respondent\&quot;,\&quot;login\&quot;:\&quot;unknown\&quot;,\&quot;customerId\&quot;:\&quot;A1DI45MUWFG9A6\&quot;},\&quot;changeDate\&quot;:\&quot;2021-12-28T06:21:15.238Z\&quot;,\&quot;reason\&quot;:\&quot;PROVIDE_INFORMATION\&quot;,\&quot;description\&quot;:\&quot;Respondent changing state to 'ProblemState(csaState=Pending, claimantState=Pending, respondentState=Pending, investigationState=ActionRequired, legacyStatus=INVG)' via HealBeam; reason=PROVIDE_INFORMATION\&quot;,\&quot;csaState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;claimantState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;respondentState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;investigationState\&quot;:{\&quot;status\&quot;:\&quot;ActionRequired\&quot;},\&quot;commentsRequired\&quot;:true,\&quot;legacyStatus\&quot;:\&quot;INVG\&quot;,\&quot;claimOpsOverride\&quot;:false},{\&quot;actor\&quot;:{\&quot;role\&quot;:\&quot;ClaimsOps\&quot;,\&quot;login\&quot;:\&quot;unknown\&quot;},\&quot;changeDate\&quot;:\&quot;2021-12-28T06:21:15.238Z\&quot;,\&quot;reason\&quot;:\&quot;GRANT\&quot;,\&quot;csaState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;claimantState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;respondentState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;investigationState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;commentsRequired\&quot;:false,\&quot;legacyStatus\&quot;:\&quot;GRNT\&quot;,\&quot;claimOpsOverride\&quot;:false},{\&quot;actor\&quot;:{\&quot;role\&quot;:\&quot;ClaimsOps\&quot;,\&quot;login\&quot;:\&quot;unknown\&quot;},\&quot;changeDate\&quot;:\&quot;2021-12-28T06:21:15.238Z\&quot;,\&quot;reason\&quot;:\&quot;CANCEL_PROBLEM\&quot;,\&quot;csaState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;claimantState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;respondentState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;investigationState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;commentsRequired\&quot;:true,\&quot;legacyStatus\&quot;:\&quot;BWDR\&quot;,\&quot;claimOpsOverride\&quot;:false},{\&quot;actor\&quot;:{\&quot;role\&quot;:\&quot;ClaimsOps\&quot;,\&quot;login\&quot;:\&quot;unknown\&quot;},\&quot;changeDate\&quot;:\&quot;2021-12-28T06:21:15.238Z\&quot;,\&quot;reason\&quot;:\&quot;NO_GRANT\&quot;,\&quot;csaState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;claimantState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;respondentState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;investigationState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;commentsRequired\&quot;:false,\&quot;legacyStatus\&quot;:\&quot;NOGR\&quot;,\&quot;claimOpsOverride\&quot;:false},{\&quot;actor\&quot;:{\&quot;role\&quot;:\&quot;ClaimsOps\&quot;,\&quot;login\&quot;:\&quot;unknown\&quot;},\&quot;changeDate\&quot;:\&quot;2021-12-28T06:21:15.238Z\&quot;,\&quot;reason\&quot;:\&quot;REQUEST_INFO_CLAIMANT\&quot;,\&quot;csaState\&quot;:{\&quot;status\&quot;:\&quot;ActionRequired\&quot;},\&quot;claimantState\&quot;:{\&quot;status\&quot;:\&quot;ActionRequired\&quot;},\&quot;respondentState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;investigationState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;commentsRequired\&quot;:false,\&quot;legacyStatus\&quot;:\&quot;RABI\&quot;,\&quot;claimOpsOverride\&quot;:false},{\&quot;actor\&quot;:{\&quot;role\&quot;:\&quot;ClaimsOps\&quot;,\&quot;login\&quot;:\&quot;unknown\&quot;},\&quot;changeDate\&quot;:\&quot;2021-12-28T06:21:15.238Z\&quot;,\&quot;reason\&quot;:\&quot;REQUEST_INFO_RESPONDENT\&quot;,\&quot;csaState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;claimantState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;respondentState\&quot;:{\&quot;status\&quot;:\&quot;ActionRequired\&quot;},\&quot;investigationState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;commentsRequired\&quot;:false,\&quot;legacyStatus\&quot;:\&quot;RASI\&quot;,\&quot;claimOpsOverride\&quot;:false},{\&quot;actor\&quot;:{\&quot;role\&quot;:\&quot;ClaimsOps\&quot;,\&quot;login\&quot;:\&quot;unknown\&quot;},\&quot;changeDate\&quot;:\&quot;2021-12-28T06:21:15.238Z\&quot;,\&quot;reason\&quot;:\&quot;RESPONDENT_ISSUED_REFUND\&quot;,\&quot;csaState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;claimantState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;respondentState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;investigationState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;commentsRequired\&quot;:false,\&quot;legacyStatus\&quot;:\&quot;SRFD\&quot;,\&quot;claimOpsOverride\&quot;:false},{\&quot;actor\&quot;:{\&quot;role\&quot;:\&quot;ClaimsOps\&quot;,\&quot;login\&quot;:\&quot;unknown\&quot;},\&quot;changeDate\&quot;:\&quot;2021-12-28T06:21:15.238Z\&quot;,\&quot;reason\&quot;:\&quot;SNOOZE\&quot;,\&quot;csaState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;claimantState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;respondentState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;investigationState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;commentsRequired\&quot;:false,\&quot;legacyStatus\&quot;:\&quot;HOLD\&quot;,\&quot;claimOpsOverride\&quot;:false},{\&quot;actor\&quot;:{\&quot;role\&quot;:\&quot;CSA\&quot;,\&quot;login\&quot;:\&quot;unknown\&quot;,\&quot;customerId\&quot;:\&quot;A152MSST3GCKQF\&quot;},\&quot;changeDate\&quot;:\&quot;2021-12-28T06:21:15.238Z\&quot;,\&quot;reason\&quot;:\&quot;PROVIDE_INFORMATION\&quot;,\&quot;description\&quot;:\&quot;CSA changing state to 'ProblemState(csaState=Pending, claimantState=Pending, respondentState=Pending, investigationState=ActionRequired, legacyStatus=INVG)' via HealBeam; reason=PROVIDE_INFORMATION\&quot;,\&quot;csaState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;claimantState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;respondentState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;investigationState\&quot;:{\&quot;status\&quot;:\&quot;ActionRequired\&quot;},\&quot;commentsRequired\&quot;:true,\&quot;legacyStatus\&quot;:\&quot;INVG\&quot;,\&quot;claimOpsOverride\&quot;:false},{\&quot;actor\&quot;:{\&quot;role\&quot;:\&quot;CSA\&quot;,\&quot;login\&quot;:\&quot;unknown\&quot;,\&quot;customerId\&quot;:\&quot;A152MSST3GCKQF\&quot;},\&quot;changeDate\&quot;:\&quot;2021-12-28T06:21:15.238Z\&quot;,\&quot;reason\&quot;:\&quot;CANCEL_PROBLEM\&quot;,\&quot;description\&quot;:\&quot;CSA changing state to 'ProblemState(csaState=Resolved, claimantState=Resolved, respondentState=Resolved, investigationState=ActionRequired, legacyStatus=BWDQ)' via HealBeam; reason=CANCEL_PROBLEM\&quot;,\&quot;csaState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;claimantState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;respondentState\&quot;:{\&quot;status\&quot;:\&quot;Resolved\&quot;},\&quot;investigationState\&quot;:{\&quot;status\&quot;:\&quot;ActionRequired\&quot;},\&quot;commentsRequired\&quot;:true,\&quot;legacyStatus\&quot;:\&quot;BWDQ\&quot;,\&quot;claimOpsOverride\&quot;:false},{\&quot;actor\&quot;:{\&quot;role\&quot;:\&quot;SeSu\&quot;,\&quot;login\&quot;:\&quot;unknown\&quot;,\&quot;customerId\&quot;:\&quot;A1DI45MUWFG9A6\&quot;},\&quot;changeDate\&quot;:\&quot;2021-12-28T06:21:15.238Z\&quot;,\&quot;reason\&quot;:\&quot;PROVIDE_INFORMATION\&quot;,\&quot;description\&quot;:\&quot;SeSu changing state to 'ProblemState(csaState=Pending, claimantState=Pending, respondentState=Pending, investigationState=ActionRequired, legacyStatus=INVG)' via HealBeam; reason=PROVIDE_INFORMATION\&quot;,\&quot;csaState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;claimantState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;respondentState\&quot;:{\&quot;status\&quot;:\&quot;Pending\&quot;},\&quot;investigationState\&quot;:{\&quot;status\&quot;:\&quot;ActionRequired\&quot;},\&quot;commentsRequired\&quot;:true,\&quot;legacyStatus\&quot;:\&quot;INVG\&quot;,\&quot;claimOpsOverride\&quot;:false}]}&quot;,&quot;avenue&quot;:&quot;CONTACT_SELLER&quot;}" data-csa-c-id="o4f6cx-sxrdb0-fnajui-dbrzyw">
                                <span id="CONTACT_SELLER_button" class="a-button a-button-primary"><span class="a-button-inner"><input class="a-button-input" type="submit" aria-labelledby="CONTACT_SELLER_button-announce"><span id="CONTACT_SELLER_button-announce" class="a-button-text" aria-hidden="true">
                                    
                                        
                                            Send
                                        
                                        
                                    
                                </span></span></span>
                            </span>
                        </span>
                    </div>
                </div>
            </div>
        </div>

我有使用 selenium 的经验,并且在网上阅读了许多可能的解决方案,但不幸的是,这些解决方案没有任何帮助。所以,如果有人能为我所缺少的提供帮助,我将不胜感激。

我能够确定我遇到的问题的原因。我正在为在 Whosebug 中找到此 post 并遇到类似问题的任何人添加答案。

无论出于何种原因,我用来查找元素的 XPATH 在 DOM 中多次出现(当时对我来说并不是很明显)。因此,当我执行 find_element_by_xpath 时,我单击的是数组中的第一个元素。为了让代码按预期工作,我必须执行 find_elements_by_xpath 并单击数组中的最后一个 WebElement。