无法点击此按钮

时间:2019-07-16 12:13:27

标签: selenium-webdriver

我无法选择此按钮。我已经尝试了大多数定位器,即XPath,包含,CSS选择器仍然没有单击。enter image description here

在上面的图像链接中,突出显示了要单击的按钮。

3 个答案:

答案 0 :(得分:0)

如果您是在Windows上运行此程序,请尝试使用X / Y坐标和AppRobotic等宏工具进行点击。我看到的一个类似问题是页面继续加载时遇到了问题,这阻止了点击。如果是这样,我通常会尝试停止页面加载,并与页面进行一些交互,这样的事情应该对您有用:

import win32com.client
from win32com.client import Dispatch
x = win32com.client.Dispatch("AppRobotic.API")
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

driver = webdriver.Chrome('chromedriver.exe')
driver.get('https://www.google.com')
# wait 20 seconds
x.Wait(20000)
# scroll down a couple of times in case page javascript is waiting for user interaction
x.Type("{DOWN}")
x.Wait(2000)
x.Type("{DOWN}")
x.Wait(2000)
# forcefully stop pageload at this point
driver.execute_script("window.stop();")
# if clicking with Selenium still does not work here, use screen coordinates
x.MoveCursor(xCoord, yCoord)
x.MouseLeftClick
x.Wait(2000)

答案 1 :(得分:0)

您需要单击<button>,而不是<span>,相关的XPath locator类似于:

//button[@title='Proceed to Checkout']

演示:

enter image description here

更多信息:

答案 2 :(得分:-1)

跨度不可单击。您想单击按钮。如果您可以提供整个DOM元素,则可以根据显示的内容创建一个供您使用的xpath,

ul.checkout-types > li > button

是你的路。使用用户Mike的变量,

driver.click("ul.checkout-types > li > button");