python - 点击一个href
问题描述
我正在尝试创建一个自动登录脚本。我已经完成了第一步,上网,填写用户名和密码,然后按一个按钮。
现在我需要转到另一个页面,该页面有一个 href 代码,我不知道如何或需要输入什么才能转到这个 href
我正在尝试这个
browser.find_element_by_xpath("//input[@href='Consulta de Medidas']").click()
这里的代码来自网络:
<a href="/consulta-de-medidas/">Consulta de Medidas</a>
但它不工作
任何人都可以帮助我吗?
解决方案
使用以下任一解决方案:
使用
link_text
:browser.find_element_by_link_text("Consulta de Medidas").click()
使用
selector
:browser.find_element_by_css_selector("a[href*='consulta-de-medidas']").click()
使用
xpath
:browser.find_element_by_xpath("//a[@href='/consulta-de-medidas/' and contains(.,'Consulta de Medidas')]").click()
更新
可能您需要诱导WebDriverWait以使所需元素可点击,并且您可以使用以下任一解决方案:
使用
LINK_TEXT
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.LINK_TEXT, "Consulta de Medidas"))).click()
使用
CSS_SELECTOR
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a[href*='consulta-de-medidas']"))).click()
使用
XPATH
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[@href='/consulta-de-medidas/' and contains(.,'Consulta de Medidas')]"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
推荐阅读
- java - 如何在数组中找到最大值然后删除该最大值元素并在java中插入该最大值元素除以2(地板除法)
- javascript - Socket.io - UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“发出”
- html - 按顺序排列的 CSS 目标文本输入字段
- typescript - 如何重用来自泛型的类型?
- browser - 将 MS Edge 版本从 44.18362.449.0 切换到 44.17763.831.0
- java - JPA 实体类的迷你版及其关联
- python - cv2.key() 返回什么?
- sql - 在加入另一个表时,数据没有被复制到 SQL Server 中的临时表中
- events - PWA 行为:来到前台
- firebase - Flutter 将文本文件上传到存储