嗨,无法在循环中通过动态更改 xpath 来编码/自动化 python 脚本
所以,每次我都需要手动输入路径。
下面是示例 xpath(实际上我有更多 xpath 需要输入)和代码
HTML 元素如下所示:
<i data-v-36de69d2="" aria-label="Play" tabindex="0" role="button" class="zm-icon-play icon"></i>
path1= driver.find_element("xpath",'//*[@id="4cc49c1a-bbef-48d2-9ca2-b804db7be94a"]/div[5]/div/div[2]/div[1]/div/div[1]/div/div/div/div[3]/div/div[1]/i').click()
path2= driver.find_element("xpath",'//*[@id="cabfd3f2-83ab-4297-ab49-3efd7e0523f3"]/div[5]/div/div[2]/div[1]/div/div[1]/div/div/div/div[3]/div/div[1]/i').click()
xpath_1 = //*[@id="4cc49c1a-bbef-48d2-9ca2-b804db7be94a"]/div[5]/div/div[2]/div[1]/div/div[1]/div/div/div/div[3]/div/div[1]/i
xpath_2 = //*[@id="cabfd3f2-83ab-4297-ab49-3efd7e0523f3"]/div[5]/div/div[2]/div[1]/div/div[1]/div/div/div/div[3]/div/div[1]/i
如何使用上面列表中的单个 xpath 进行循环动态编码。
如果没有更多 HTML 或页面链接,很难说,但我会从下面的代码开始。根据您提供的 HTML,这将抓取集合中的所有图标,循环遍历它们,然后单击每个图标。
wait = WebDriverWait(driver, 10)
icons = wait.until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "i[aria-label='Play']")))
for icon in icons:
icon.click()
# do something
注意:根据单击触发的内容、导航到新页面或页面重新加载,这可能会导致陈旧元素异常,您必须对此进行调整。