ton*_*r55 4 python selenium xpath css-selectors webdriverwait
我正在尝试使用 python 中的 Selenium 单击网站上的按钮,并且单击按钮工作正常,我可以看到按钮被单击,但代码此时停止运行,当我在普通浏览器中检查网站时,我可以告诉按钮还没有被点击。更具体地说,我试图单击服务器start的按钮aternos.org,并且单击效果很好,但由于某种原因,服务器的实际启动并未完成。
我的开始按钮点击代码:
start = driver.find_element(By.ID, 'start')
status = driver.find_element(By.CLASS_NAME, 'statuslabel-label').text
print(status)
if status == 'Offline':
start.click()
print('Starting server!')
Run Code Online (Sandbox Code Playgroud)
理想情况下,要定位并单击任何可点击元素,您需要为element_to_be_clickable()引发WebDriverWait,并且可以使用以下任一定位器策略:
使用身份证:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "start"))).click()
Run Code Online (Sandbox Code Playgroud)
使用CSS_SELECTOR:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#start"))).click()
Run Code Online (Sandbox Code Playgroud)
使用XPATH:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='start']"))).click()
Run Code Online (Sandbox Code Playgroud)
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3892 次 |
| 最近记录: |