Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python在类中单击按钮_Python_Selenium - Fatal编程技术网

Python在类中单击按钮

Python在类中单击按钮,python,selenium,Python,Selenium,在上面的图片中,我尝试单击“继续发送电子邮件”按钮。这是我的代码: 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,

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

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

我认为您的XPath是关闭的,根据您给出的示例,我假设您想要这样的东西:

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

有一个关于XPath语法的很好的教程

我认为您的XPath是关闭的,根据您给出的示例,我假设您想要这样的东西:

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

有一个很棒的XPath语法教程

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

-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

如果要单击“继续发送电子邮件”按钮,可以使用以下解决方案:

-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
你能试试这个密码吗

Element=Driver。通过xpath('/*[@id=“site content”]/div/div/div/div/div/div/div/div[2]/button')查找元素
你能试试这个代码吗

Element=Driver。通过xpath('/*[@id=“site content”]/div/div/div/div/div/div/div/div[2]/button')查找元素
它应该足够做你想做的事情,因为按钮似乎连接到该类,你只需单击它


它应该足以满足您的需要,因为按钮似乎连接到该类,您只需单击它即可。

Lovely-第一个示例非常有用(大写字母D,因为我在代码中将“Driver”对象大写)。非常感谢!!请您从您这边回答好吗?很好-第一个示例非常有用(大写D,因为我在代码中大写了“Driver”对象)。非常感谢!!谢谢你-这似乎是一个时间问题,但一旦你的语法过了,你的语法就好了谢谢-这似乎是一个时间问题,但一旦过了,你的语法就好了