tos = driver.find_element_by_id("TOS_CHECKBOX").click()
check_out = driver.find_element_by_class_name("btn btn--small-wide")
check_out.click()
网站链接:https://www.squidindustries.co/cart
我可以检查服务条款框,但是当我尝试单击结帐按钮时,出现错误“没有这样的元素:无法定位元素:{“方法”:“css 选择器”, "selector":".btn btn--small-wide"}" 我试过 time.sleep 和 driver.implicitly_wait 但似乎都不起作用。有什么想法吗?
答案 0 :(得分:1)
你可以使用下面的css:
input[value='Check out']
在代码中:
check_out = driver.find_element_by_css_selector("input[value='Check out']")
check_out.click()
或
使用显式等待:
checkout = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"input[value='Check out']")))
checkout.click()
进口:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
答案 1 :(得分:0)
您可以尝试使用 explicitWait
checkbox=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//input[@id='TOS_CHECKBOX' and @type='checkbox']")))
checkbox.click()
checkout = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//input[@type='button' and @class='btn btn--small-wide']")))
checkout.click()
导入
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait