繁体   English   中英

python selenium 单击<a>按钮</a>

[英]python selenium click <a> button

我正在用硒制作宏。

我想点击这个页面上的这个按钮

在此处输入图片说明

所以,我使用了以下代码。 但是,它不起作用。

driver.find_element_by_xpath('/html/body/div[1]/div[5]/div[1]/div[3]/div/div/section/div/a').click()

我应该使用什么代码?

此按钮位于<iframe id="down">但 Selenium 将frame视为单独的页面,您必须先switch_to.frame才能在框架内搜索。

frame = driver.find_element_by_id('down')
driver.switch_to.frame(frame)

正如@match 所说,您可以使用id来搜索元素。 但它也适用于您的xpath

import selenium.webdriver

url = 'http://cafe.daum.net/WekiMeki'

driver = selenium.webdriver.Chrome()
#driver = selenium.webdriver.Firefox()
driver.get(url)

frame = driver.find_element_by_id('down')
driver.switch_to.frame(frame)

driver.find_element_by_id('fancafe-widget-cheer').click()

#driver.find_element_by_xpath('/html/body/div[1]/div[5]/div[1]/div[3]/div/div/section/div/a').click()

使用这样的绝对路径是有风险的,因为如果站点结构发生变化,它将不再起作用。

幸运的是,您要点击的元素有一个唯一的 id: id="fancafe-widget-cheer"

因此,您可以通过执行以下操作来选择它:

driver.find_element_by_id('fancafe-widget-cheer')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM