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

Python Selenium在一个类中单击按钮

卞成荫
2023-03-14

在上图中,我正试图点击“继续发送电子邮件”按钮。这是我的代码:

from selenium import webdriver

Driver = webdriver.Firefox() #Define webdriver to use
Driver.get('https://www.airbnb.co.uk/login')
Element = Driver.find_element_by_xpath("//div[contains(@class,'_p03egf') and (@class, '_18m31f1b')]")
Element.click

要么是我的语法错误,要么是我对网页的糟糕理解让我失望了

任何帮助-非常感谢

谢了Rob

共有3个答案

松景铄
2023-03-14

你能试试这个代码吗

Element = Driver.find_element_by_xpath('//*[@id="site-content"]/div/div/div/div/div/div/div/div[2]/button')
刘和昶
2023-03-14

我认为您的XPath是关闭的,从您给出的例子来看,我会假设您想要这样的东西:

Element = Driver.find_element_by_xpath("//button[@data-testid='social-auth-button-email']")

w3schools.com有一个关于XPath语法的很棒的教程

汪迪
2023-03-14

如果您想点击继续发送电子邮件按钮,可以使用以下解决方案:

-XPATH

例1

wait = WebDriverWait(Driver, 30)
     wait.until(EC.presence_of_element_located((By.XPATH, "//div[contains(text(),'Continue with email')]"))).click()

例2

wait = WebDriverWait(Driver, 30)
     wait.until(EC.presence_of_element_located((By.XPATH, "//div[@class='_bc4egv gs_copied']"))).click()

-CSS选择器

 wait = WebDriverWait(Driver, 30)
     wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".\_18m31f1b:nth-child(1) .\_bc4egv"))).click()

不要忘记在下面添加导入

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
 类似资料:
  • 在我的程序中,它将单击浏览器中的一个按钮,并且在该页面中,应该会出现另一个按钮。出现该按钮后,我的程序将立即运行下一个操作来单击下一个按钮。我目前收到此错误: ElementNotVisibleException:消息:元素不可见 因此,我假设我正在调用该操作,以便在该按钮出现之前单击下一个按钮。我的问题是,我该怎么做才能让我的程序等到我可以点击按钮,再点击按钮? 这就是我的程序底部的代码的样子。

  • 问题内容: 我试图单击一些按钮,并以抽搐为例使用“跟随”按钮。 我使用Selenium IDE尝试获取按钮的xpath。我得到的xpath是: 如果我转到FireFox并为按钮复制唯一选择器,则会得到: 我在Java程序中都尝试过,但它们都无效。当我使用xpath时,出现以下错误: 编辑: 我要单击的带有按钮的网站示例(“关注”按钮):http : //www.twitch.tv/mradder8

  • 我有这样的标记 和像这样的JS 所以在这里,我希望当我点击课程时,只有课程内容会显示出来,就像这样,当我点击配置文件和库时,只有配置文件和库会显示出来。在这里,它的工作很好,但我想知道如何添加一个类活动时,一个项目被点击在锚标记。假设我点击了lessons,那么一个活动类应该被添加到lessons锚标记中,当我点击了profile,那么活动类应该被从lessons锚标记中移除,它应该在profil

  • 我正试图让JQuery在按下下一个按钮时自动单击该按钮。在互联网上,我发现应该是这样的(查看JQuery部分)。但由于某种原因,它不起作用。 它们必须在同一个代码中吗? 我尝试过的:JQuery: 表单中的按钮1 HTML: 表单中的按钮2 HTML:

  • 我需要帮助创建一个div,当你点击一个按钮时,里面有自定义超文本标记语言的div会被创建。 如果这是可能的(很可能是),我正在制作一个邮箱。 谢谢!!!

  • 问题内容: 我想要的是发布需求,然后单击“ openTab”按钮,在新选项卡中打开响应html。无法使用来执行此操作。我认为这可能很简单,但是我找不到办法。 问题答案: 您可以使用$ window服务在此处在控制器中完成所有操作。$ window是全局浏览器对象窗口的包装。 为此,将$ window注入到控制器中,如下所示 重定向到动态路由时效果很好