Python Selenium 定位元素常见问题解析:

你是否在使用 find_elements 方法时遇到过问题?让我们通过一个案例分析来学习如何正确使用它。

原始代码:

page_element = s.driver.find_elements(value='.J_TSaleProp', by=By.CSS_SELECTOR)
for link_element in page_element:
    link_element = page_element.find_elements(by=By.TAG_NAME, value='span')
    for itme in link_element:
        print(itme.text)

问题分析:

  1. find_elements 方法需要两个参数:定位方式 (by) 和定位值 (value)。
  2. 在循环中,link_element 被错误地重新赋值为 page_element 的结果。

解决方案:

page_element = s.driver.find_elements(by=By.CSS_SELECTOR, value='.J_TSaleProp')

for link_element in page_element:
    link_element = link_element.find_elements(by=By.TAG_NAME, value='span')
    for item in link_element:
        print(item.text)

代码解读:

  1. 我们首先使用 find_elements(by=By.CSS_SELECTOR, value='.J_TSaleProp') 获取所有class 为 '.J_TSaleProp' 的元素。
  2. 然后,我们遍历每一个 link_element,并使用 find_elements(by=By.TAG_NAME, value='span') 获取其内部的所有 span 元素。
  3. 最后,我们打印每个 span 元素的文本内容。

通过以上修改,代码就能按照预期工作。记住,仔细检查代码逻辑和方法参数是避免错误的关键。

Python Selenium 定位元素常见问题及解决方案:find_elements 用法详解

原文地址: http://www.cveoy.top/t/topic/DXP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录