繁体   English   中英

使用 Python Selenium 无法单击此网站上的登录按钮

[英]Can't click the login button on this website by using Python Selenium

每个人,

我想使用 Selenium 浏览以下网站。

https://www.kintips.com/tc/kintips-app.html

(如果您只会阅读英文,请选择“ENG”。)

这是我想做的事情:

  1. 使用 Edge 打开网站。
  2. 单击“用户登录”按钮。
  3. 输入 ID 和密码。
  4. 点击“登录”。

我被困在第 2 步。我尝试了许多策略,例如find_element_by_class_namefind_element_by_css_selector 但所有的回应都是“没有这样的元素:无法找到元素”。

如何找到“用户登录”按钮的元素? 请帮忙。 谢谢你。

from selenium import webdriver

browser = webdriver.Edge()

#step 1
browser.get('https://kintips.com/tc/kintips-app.html')

#step 2, click a button
current = browser.find_elements_by_class_name('button-inner')

登录按钮包含在iframe网页元素中(要查看它,请打开浏览器检查器工具并搜索//iframe ),这就是为什么它会给您错误“没有这样的元素:无法定位元素”。 首先要切换到iframe,然后才能找到元素,如下代码所示

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

browser = webdriver.Edge()

browser.get('https://kintips.com/tc/kintips-app.html')

# pause 30 seconds to let the page load fully, you can reduce or increase this value to your needs
time.sleep(30)

WebDriverWait(browser, 10).until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR, "iframe[src*='iads001']")))
login_button = browser.find_element(By.CSS_SELECTOR, "button[class*='login']")
login_button.click()

暂无
暂无

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

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