Python在websi上找不到Create New Account按钮的元素

2024-10-01 00:29:26 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我迄今为止的代码,请注意,网页加载了验证码。对此,我添加了time.sleep,以便运行测试。当我试图通过提交“createnewaccount”来提交表单时,我得到一个错误,即元素没有“submit”的属性。我尝试使用xpath、css、标签、类名等查找元素

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()

Tags: 代码fromimportbrowser元素网页表单time
2条回答

如果您在填写信息后试图单击“创建新帐户”按钮,请在下面找到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()

尝试使用submit时,需要确保目标元素位于表单对象中。可以对窗体中的任何元素使用该方法。否则,element.submit()将无法工作

您应该尝试使用element.click()在按钮上,这模拟了鼠标单击元素

相关问题 更多 >