首页 > 解决方案 > Python Selenium 无法在网站上找到“创建新帐户”按钮的元素

问题描述

到目前为止,这是我的代码,请注意网页加载了验证码。我通过添加 time.sleep 来反驳这一点,这样我就可以运行测试了。当我尝试通过提交“创建新帐户”来提交表单时,我收到一条错误消息,指出该元素没有“提交”属性。我尝试使用 xpath、css_selectos、标签、类名等来查找元素。

from selenium import webdriver
from selenium.webdriver.support.ui import Select
import time

browser = webdriver.Chrome()
browser.get('https://www.bstn.com/en/register/address')
time.sleep(35)

elam = browser.find_element_by_css_selector("[value='Create new account']")
elam.Submit()

标签: pythonseleniumselenium-chromedriver

解决方案


如果您在填写信息后尝试单击“创建新帐户”按钮,请在下方找到xpath单击它

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

    WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.XPATH, "//input[@class='button radius charcheck-submit']"))).click()

动作类的另一种解决方案

from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver import ActionChains

    actionChains = ActionChains(driver)
    submit = WebDriverWait(driver, 10).until(
        EC.visibility_of_element_located((By.XPATH, "//input[@class='button radius charcheck-submit']")))
    actionChains.move_to_element(submit).click().perform()

工作代码

from selenium import webdriver
from selenium.webdriver.support.ui import Select
import time
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

browser = webdriver.Chrome(executable_path=r"C:\New folder\chromedriver.exe")
# browser = webdriver.Chrome()
browser.get('https://www.bstn.com/en/register/address')
time.sleep(35)
WebDriverWait(browser, 10).until(
EC.element_to_be_clickable((By.XPATH, "//input[@class='button radius charcheck-submit']"))).click()

推荐阅读