【发布时间】:2021-10-04 20:09:41
【问题描述】:
我一直在学习 selenium 并实现它。我尝试从机器人上传文件。在此期间,我开始知道位置(上传按钮内容)在每次重新加载时都会不断变化。我设法找到了 .jpg 文件的选项,但我无法跟踪 .pdf 文件的上传。下面详细介绍了我的代码。
<div _ngcontent-kkx-c10="" class="form-group document-upload" xpath="1">
<div _ngcontent-kkx-c10="" class="document-upload-info">
<span _ngcontent-kkx-c10="" class="document-type">
KYC Form <!----><span _ngcontent-kkx-c10="" style="margin-left:5px;color:red;">* </span>
</span>
</div>
<!----><!---->
<label _ngcontent-kkx-c10="" class="btn btn-outline upload-button" style="border: 1px solid transparent; border-radius: 0.25rem; border-color: #0078D7; color: #0078D7 !important;">
Upload <input _ngcontent-kkx-c10="" hidden="" multiple="" type="file" accept=".pdf">
</label>
<!----><!----><!---->
</div>
<div _ngcontent-kkx-c10="" class="form-group document-upload" xpath="1">
<div _ngcontent-kkx-c10="" class="document-upload-info">
<span _ngcontent-kkx-c10="" class="document-type">
Photo Form <!----><span _ngcontent-kkx-c10="" style="margin-left:5px;color:red;">* </span>
</span>
</div>
<!----><!---->
<label _ngcontent-kkx-c10="" class="btn btn-outline upload-button" style="border: 1px solid transparent; border-radius: 0.25rem; border-color: #0078D7; color: #0078D7 !important;">
Upload <input _ngcontent-kkx-c10="" hidden="" multiple="" type="file" accept=".jpg">
</label>
<!----><!----><!---->
</div>
<div _ngcontent-kkx-c10="" class="form-group document-upload" xpath="1">
<div _ngcontent-kkx-c10="" class="document-upload-info">
<span _ngcontent-kkx-c10="" class="document-type">
Citizenship Form <!----><span _ngcontent-kkx-c10="" style="margin-left:5px;color:red;">* </span>
</span>
</div>
<!----><!---->
<label _ngcontent-kkx-c10="" class="btn btn-outline upload-button" style="border: 1px solid transparent; border-radius: 0.25rem; border-color: #0078D7; color: #0078D7 !important;">
Upload <input _ngcontent-kkx-c10="" hidden="" multiple="" type="file" accept=".pdf">
</label>
<!----><!----><!---->
</div>
我按照以下方式上传图片。
photo_filepath_input_box = driver.find_element_by_xpath("//input[@accept='.jpg']").send_keys(
'/home/daniel/Desktop/website.jpg')
在机器人加载过程中,上述三个表单可能出现在任何位置,即Kyc 表单可能会到达末尾(第三个位置)或第二个和类似的休息位置。所以我想知道如果我可以检查条件,比如 KYC 表单文本是否存在,那么我需要单击它正下方的 xpath,即 Label 对此有任何提示吗?
这是第二个文件上传问题。
(+) 按钮点击代码
WebDriverWait(self.driver,5).until(EC.presence_of_element_located((By.XPATH,"//span[contains(text(),'Citizenship Certificates')]/../..//i[@class='fa fa-plus ' ]"))).click()
第二次上传公民船代码。
self.driver.find_element_by_xpath("((//span[contains(text(),'Citizenship Certificates ')]/../..//input[@type='file' and(@accept='.pdf')])[2]").send_keys('/home/navaraj/Desktop/{}'.format(row[75]))
【问题讨论】:
-
你能展示一下你尝试了什么吗?
标签: python selenium selenium-webdriver xpath