python - 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()
解决方案
如果您在填写信息后尝试单击“创建新帐户”按钮,请在下方找到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()
推荐阅读
- teradata - Teradata XMLAGG 函数在雪花中不起作用
- java - 在 Spring Boot 中获取跨站点请求伪造错误
- python - 拆分字符串
- java - OpenApi 文档将 byte[] 转换为 byte[] 数组
- python - 独立的python可执行文件未打开文件
- sql - 如何使用区分选择结果值作为 where 子句?
- html - HTML 如何使表单居中
- api - Snapshot.data 为 null 。方法 [] 在 null 上被调用
- c# - 如何在数据表c#中按需加载excel行
- python-3.x - 基于值合并列单元格(python pandas - xlsxwriter)