网址: https://efun.toronto.ca/torontofun/Activities/ActivitiesCourseDetails.asp?aid=18830&cid=6455687
单击“添加”按钮将生成一个弹出窗口,您需要在其中输入凭据。我尝试过用Selenium/Python单击按钮以生成弹出窗口的不同方法,但似乎没有任何效果
我的代码片段:
from selenium import webdriver
import xpath
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get('https://efun.toronto.ca/torontofun/Activities/ActivitiesCourseDetails.asp?aid=18830&cid=6455687')
add_buttom_try1 = WebDriverWait(driver,10).until(
EC.presence_of_element_located((By.CLASS_NAME, "Add"))).click()
add_buttom_try2 = WebDriverWait(driver,10).until(
EC.presence_of_element_located((By.CLASS_NAME, "ui-state-active ui-corner-all link-button ajax-request from-full-page focus-child need-focus-pageobject")))
要单击元素添加,您可以使用以下任一Locator Strategies:
使用
CSS_SELECTOR
:使用
XPATH
:所需的元素是启用了AJAX的元素,因此理想情况下,要单击需要为^{} 诱导WebDriverWait的元素,您可以使用以下任一Locator Strategies:
使用
CSS_SELECTOR
:使用
XPATH
:注意:您必须添加以下导入:
浏览器快照:
看看这个:strategies to locate elements on a page
以下是找到“添加”按钮的一些方法:
使用XPATH:
使用CSS\u选择器:
使用链接\u文本:
有时,您的代码可以在单击“按钮”之前执行。发生这种情况时,将抛出一个错误。在查找可单击的元素时,添加WebDriverWait语句是一种很好的做法
参考:selenium wait statements
相关问题 更多 >
编程相关推荐