Python 选择一个按钮,列表对象就没有属性了

Python 选择一个按钮,列表对象就没有属性了,python,python-2.7,selenium,Python,Python 2.7,Selenium,在对我的问题搜索了一段时间后,我找不到一个对我有帮助的答案,所以我在这里请求您的帮助!:) 现在,我正在尝试在一个网站页面上选择一个计划,该计划被选中后(阅读:点击某个按钮)将显示页面的其余部分,在那里我可以发送我想要发送的键/值 这是我正在使用的代码 select_plan = browser.find_elements_by_xpath(".//*[@id='PostAdMainForm']/div[1]/div/div/div/div/div[1]/div[3]/button") sele

在对我的问题搜索了一段时间后,我找不到一个对我有帮助的答案,所以我在这里请求您的帮助!:)

现在,我正在尝试在一个网站页面上选择一个计划,该计划被选中后(阅读:点击某个按钮)将显示页面的其余部分,在那里我可以发送我想要发送的键/值

这是我正在使用的代码

select_plan = browser.find_elements_by_xpath(".//*[@id='PostAdMainForm']/div[1]/div/div/div/div/div[1]/div[3]/button")
select_plan.click()
我在Firepath中找到了xpath,但当我运行代码时,它会给我一个AttributeError:“list”对象没有属性“click”

这是我试图点击的页面

(我想点击左边的按钮,蓝色的那一个)


非常感谢您的帮助:)

但是,您共享的页面链接没有蓝色按钮。然而,在导航到“发布你的广告”页面后,我找到了它。您可以单击选择按钮,该按钮为蓝色,使用其前面显示的文本。例如,使用文本Basic,您可以到达选择按钮。下面的代码显示了我们如何实现这一点:

select_plan = browser.find_element_by_xpath("//h3[text()='Basic']/following::button[text()='Select'][1]")
select_plan.click()

让我知道它是否适合您。

方法find_elements返回一个列表,而不是单个元素。您正在获取结果并尝试单击它。正如错误所说,您不能单击列表

使用
查找元素
(单数)或使用
查找元素
(复数),然后单击返回的元素之一

# using find_elements
select_plans = browser.find_elements_by_xpath(".//*[@id='PostAdMainForm']/div[1]/div/div/div/div/div[1]/div[3]/button")
if len(select_plans) > 0:
    select_plans[0].click()

# using find_element
select_plan = browser.find_element_by_xpath(".//*[@id='PostAdMainForm']/div[1]/div/div/div/div/div[1]/div[3]/button")
if select_plan:
    select_plan.click()

我单击了你的链接,但没有看到蓝色按钮。只有一个加拿大省份的列表。选择一个省和一个城市后,你必须点击右上角的post广告!对不起,我以为链接会直接把你带到你该去的地方。不过我还是找到了解决问题的办法!谢谢你的帮助!哇!我觉得自己好笨。对于这个问题我真的很抱歉,你的回答正是我遇到的问题!非常感谢:)我可以问你为什么要用if语句来做这个吗?如果找不到元素,脚本不会崩溃吗?@Maude:是的,它是为了防止没有匹配xpath的元素。感谢您提供的规范:)