基于 Selenium 的 Python 脚本:选择并单击 span 元素时出错

问题描述 投票:0回答:1

嘿,selenium 和 Python 的新手。我确信你们会把我撕成碎片,因为我错过了一个显而易见的解决方案,但我需要你们的帮助。

我正在使用 python 脚本自动将列表上传到 facebook 市场,完整信息如下:https://github.com/GeorgiKeranov/facebook-marketplace-bot

问题: 当选择并单击跨度元素的脚本部分运行时,脚本无法找到并单击该元素,最终导致脚本在框为“已使用 - 状况良好”时打印此内容

错误:等待带有 xpath“//span[@dir="auto"][text()="Used – good"]" 的元素加载超时

代码:

在上面的上下文中,运行了这行代码:

scraper.element_click_by_xpath('//span[@dir="auto"][text()="' + data['Condition'] + '"]')

网络爬虫程序中编写的函数如下所示:

def element_click_by_xpath(self, xpath, delay = True):
    if delay:
        self.wait_random_time()

    element = self.find_element_by_xpath(xpath)

    try:
        element.click()
    except ElementClickInterceptedException:
        self.driver.execute_script("arguments[0].click();", element)

结论:

我是一名新手编码员,我非常感谢我能得到的任何帮助。谢谢!

我尝试更改参数以在具有不同框名称的不同下拉框中运行,但我仍然绘制空白。

如有任何答案或线索,我们将不胜感激。

python selenium-webdriver web-scraping
1个回答
0
投票

我认为问题在于您正在寻找“Used - good”,而实际上您正在寻找的是“Used - Good”,即使是大写字母,xpath 也应该完全相同。我也不是专家,但我正在使用机器人在 Facebook 上发帖。

© www.soinside.com 2019 - 2024. All rights reserved.