Fish钩 发表于 2023-11-5 23:35:55

selenium 自动化问题求助,先谢大佬们

求助,print("正在上传适用性别......")
      input_element = WebDriverWait(driver, 15).until(
            EC.presence_of_element_located(
                (By.XPATH, '//*[@id="anchor-cell-商品属性"]/div/div/div/div/div/div/div'))
      )
      upload_element.click()
不知道为什么查找这个元素并点击就会报错,用同样的xpath方法查找其他的xpath就不会。
取消这个点击的操作可以顺利走完程序



驱动版本都核对了,没有问题,
点击的元素效果是一个下拉框,我尝试了这个框的所有xpath元素,都不行,

isdkz 发表于 2023-11-5 23:35:56

这个问题可能是由于元素在页面加载完成之前无法找到而引起的。您可以尝试使用 EC.element_to_be_clickable 条件来等待元素可点击,然后再进行点击操作。以下是修改后的代码示例:

from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait

print("正在上传适用性别......")
input_element = WebDriverWait(driver, 15).until(
    EC.element_to_be_clickable((By.XPATH, '//*[@id="anchor-cell-商品属性"]/div/div/div/div/div/div/div'))
)
input_element.click()


这样修改后,WebDriver会等待元素可点击后再进行点击操作,从而避免了报错的情况。希望能解决您的问题!

Fish钩 发表于 2023-11-5 23:40:49

isdkz 发表于 2023-11-5 23:35
这个问题可能是由于元素在页面加载完成之前无法找到而引起的。您可以尝试使用 EC.element_to_be_clickable...

谢谢,祝大佬好运,我可以每一个点击步骤都使用这个方法吗
页: [1]
查看完整版本: selenium 自动化问题求助,先谢大佬们