当前位置: 首页 > 知识库问答 >
问题:

Python硒按类选择元素

严开宇
2023-03-14

我试图选择一种含有硒的元素,但我是一个初学者。

以下是我尝试选择的元素:

<button type="submit" class="btn btn-primary btn-block btn-form">
    Connexion
</button>

我在我的脚本上尝试了这几行:

from selenium import webdriver

driver = webdriver.Chrome(executable_path="chromedriver.exe")
driver.get("https://skysand.fr")

connexion_button = driver.find_element_by_class_name("login")
connexion_button.click()

email_input = driver.find_element_by_id("email")
email_input.send_keys("XXXX")

password_input = driver.find_element_by_id("password")
password_input.send_keys("XXXX")

connect_button = driver.find_element_by_class_name("btn-primary btn-block btn-form")
connect_button.click()

但它不工作:(

硒.common.exceptions.Element单击异常异常:消息:元素单击被截获:元素在点上不可单击 (513, 955)

谢谢你,如果你能帮助我!(抱歉我的英语不好...

共有1个答案

贾骏
2023-03-14

为了通过多个类名选择元素,应使用 css_selector 或 XPath。另外,对于此元素,最好使用此 css 定位符:

button[type='submit']

所以试试这个:

connect_button = driver.find_element_by_css_selectro("button[type='submit']")
connect_button.click()

此外,您的代码需要等待。它们看起来会是这样的:

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

wait = WebDriverWait(driver, 20)

driver = webdriver.Chrome(executable_path="chromedriver.exe")
driver.maximize_window()
driver.get("https://skysand.fr")

wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".login"))).click()

wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "#email"))).send_keys("XXXX")

wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "#password"))).send_keys("XXXX")

wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "button[type='submit']"))).click()
 类似资料:
  • 问题内容: Selenium Select 类具有3种不同的选项选择方法: selectByIndex selectByValue selectByVisibleText 现在,我遇到一种情况,我想按 部分 显示在选项可见文本之一中的某些文本选择一个选项(不想让自己暴露于整个文本中)。 例如: 我只想通过提供“ DOLLAR”来选择此选项,例如: 您将如何有效实施它? 问题答案: 您可以尝试这样的

  • https://imgur.com/vfhp8n7.png 当我单击B按钮时,整行隐藏 我需要硒来点击B按钮,然后点击下一个B按钮 我想执行,但是数字4352,6820每次都不一样 你有什么想法吗? 编辑

  • 问题内容: 我正在尝试使用By.cssSelector来捕获类c3的第n个dom元素,其结构如下: 测试我的CSS选择器时,我变得越来越困惑。此选择器正确选择c2 / c3的第二个实例: 而: 什么都不选。 更糟糕的是,将其转换为硒,我似乎始终没有为所有3个版本找到任何东西。有很多选择这些元素的替代方法(我可能只做XPATH),但是我对nth-of- type的缺乏了解使我发疯。谁能提供关于第二个

  • 对于以下 HTML,硒 xpath 选择器是什么: 我需要让Selenium IDE根据元素文本定位列表中的第二项。我认为可以做到,但显然不行。

  • 我已经搜索了以前的帖子,但没有找到解决方案,所以我会尝试新的帖子。 我有一个简单的登录页面,在按下按钮后,它会把你送到一个新的窗口。我试图选择这个新窗口,然后断言它的标题,但是Selenium IDE找不到带有该标题的窗口。 下面是这个新窗口标题的HTML代码... 我的硒代码很简单。 我收到以下消息... 我使用了storeallwindownames/ids/title,Selenium甚至不

  • 这是代码: 这是我已经在python上尝试过的: 返回: 你知道吗?谢谢