使用python,chromedriver和Windows。
我正在编写一个几个月的脚本,它定期使用.click()函数,几天前它停止在网站的任何地方工作。我一直试图通过id,xpath等找到元素......甚至可以点击send_keys(Keys.ENTER)
但没有成功。我只是想点击登录图标但没有任何反应。似乎找到元素,甚至点击它,但没有任何反应。这是the site,代码在这里:
browser = webdriver.Chrome(chrome_options=options, executable_path=r'chromedriver.exe')
browser.get(('https://es.wallapop.com/'))
signInButton = WebDriverWait(browser, 5).until(EC.element_to_be_clickable((By.ID, 'js-show-login-modal')))
signInButton.click()
signInButton = WebDriverWait(browser, 5).until(EC.element_to_be_clickable((By.ID, 'btn-go-login-form')))
signInButton.click()
不工作的一部分是我从终端获得的:
Traceback (most recent call last):
File "wallapop_delete.py", line 55, in <module>
signInButton = WebDriverWait(browser, 5).until(EC.element_to_be_clickable((B
y.ID, 'btn-go-login-form')))
File "C:\Users\zaico\AppData\Local\Programs\Python\Python36\lib\site-packages\
selenium\webdriver\support\wait.py", line 80, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
这就是浏览器应该发生的事情:
答案 0 :(得分:1)
根据您分享的 url 点击带有文字的链接Regístrateoiniciasesión,您可以获得以下任一{} {}}的帮助:
LINK_TEXT
PARTIAL_LINK_TEXT
CSS_SELECTOR
XPATH
以下是使用PARTIAL_LINK_TEXT
的示例代码:
# -*- coding: UTF-8 -*-
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
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
options.add_argument('disable-infobars')
browser=webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
browser.get("https://es.wallapop.com/")
WebDriverWait(browser, 5).until(EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, 'strate o inicia sesi'))).click()
浏览器快照: