我找不到这个元素(facebook\u bot)

2024-10-02 22:32:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试建立一个facebook机器人。但我找不到元素。 实际元素(正如您在不查看html代码的情况下看到的)位于一个窗口中(当您试图在facebook的市场上销售某样东西时显示的窗口)。我已经在该窗口中找到了一个元素(driver.find_element_by_xpath('/*[contains(text(),“Artículo en venta”)])。单击()),因此“frames”没有问题

以下是元素代码:

<input class="_58al" type="text" aria-autocomplete="list" aria-controls="js_mq" aria-expanded="true" data-testid="searchable-text-input" role="combobox" placeholder="Selecciona una categoría" autocomplete="off" autocorrect="off" value="">

我尝试了以下方法:

 driver.find_element_by_xpath('//*[@id="js_st"]/input').click()
 driver.find_element_by_xpath('//input[@placeholder="Seleccione una categoría"]').click()
 driver.find_element_by_css_selector('input._58al').click()
 driver.find_element_by_link_text('Selecciona una categoría').click()
 driver.find_element_by_xpath('//*[contains(text(), "Selecciona una categoría")]').click()

我正在使用LinuxMint作为我的操作系统(如果需要的话)

联会可能是错误的。如果是这样,请随时纠正我! 任何想法都将是恰当的

非常感谢你


Tags: 代码text元素inputbyfacebookdriverelement
1条回答
网友
1楼 · 发布于 2024-10-02 22:32:34

我没有使用Python,但我发现您的定位器有不规则之处。您可以尝试以下定位器:

XPath: 您也可以选择任何属性值来代替占位符。确保Xpath对于元素是唯一的

//input[@placeholder='Selecciona una categoría']

可以在python代码中使用这些定位器

以下是我觉得您的定位器不起作用的原因:

元素代码中没有ID属性:

driver.find_element_by_xpath('//*[@id="js_st"]/input').click()

单引号和双引号看起来是互换的:

 driver.find_element_by_xpath('//input[@placeholder="Seleccione una categoría"]').click()

定位器应使用双引号:

driver.find_element_by_css_selector('input._58al').click()

您正在访问的元素不是链接,因为没有href属性:

driver.find_element_by_link_text('Selecciona una categoría').click()

根据上述代码段,元素也没有文本:

driver.find_element_by_xpath('//*[contains(text(), "Selecciona una categoría")]').click()

相关问题 更多 >