Python Selenium:我无法点击按钮 - 没有与按钮标签对应的 ID、值、名称
Python Selenium: I can't click on a button - no id, value, name corresponding to button tag
我正在使用 Selenium 单击 link 中的“成为会员”按钮:https://www2.hm.com/en_us/register。
这里是按钮的HTML:https://i.stack.imgur.com/Pjeu3.png
我已经用尽了该站点上的所有其他答案:我尝试使用 XPath、CSS 选择器找到此元素,等待元素可点击、可见等,但都无济于事。
这是我当前接受所有 cookie 的代码(因为我认为这是问题所在),然后尝试单击“成为会员”按钮
try:
# Accepts cookies
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.CSS_SELECTOR, "input[id='onetrust-accept-btn-handler']"))).click()
# Clicks the register button
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.CSS_SELECTOR, "input[data-testid='submitButton']"))).click()
except:
print("Driver waited too long!")
driver.quit()
有谁知道我可以做些什么来解决这个问题?谢谢!
单击您正在使用的 Become A Member
按钮 input[data-testid='submitButton']
这几乎是正确的,但它不是输入标签,它是一个按钮。
请在此处查看 HTML:
<button class="CTA-module--action__3hGPH CTA-module--medium__dV8ar CTA-module--primary__3hPd- CTA-module--fullWidth__1GZ-5 RegisterForm--submit__2Enwx" data-testid="submitButton" type="submit"><span>BECOME A MEMBER</span></button>
所以将 input[data-testid='submitButton']
更改为 button[data-testid='submitButton']
成功了,而且奏效了。
示例代码:-
try:
# Accepts cookies
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.CSS_SELECTOR, "input[id='onetrust-accept-btn-handler']"))).click()
# Clicks the register button
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.CSS_SELECTOR, "button[data-testid='submitButton']"))).click()
except:
print("Driver waited too long!")
driver.quit()
我正在使用 Selenium 单击 link 中的“成为会员”按钮:https://www2.hm.com/en_us/register。
这里是按钮的HTML:https://i.stack.imgur.com/Pjeu3.png
我已经用尽了该站点上的所有其他答案:我尝试使用 XPath、CSS 选择器找到此元素,等待元素可点击、可见等,但都无济于事。
这是我当前接受所有 cookie 的代码(因为我认为这是问题所在),然后尝试单击“成为会员”按钮
try:
# Accepts cookies
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.CSS_SELECTOR, "input[id='onetrust-accept-btn-handler']"))).click()
# Clicks the register button
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.CSS_SELECTOR, "input[data-testid='submitButton']"))).click()
except:
print("Driver waited too long!")
driver.quit()
有谁知道我可以做些什么来解决这个问题?谢谢!
单击您正在使用的 Become A Member
按钮 input[data-testid='submitButton']
这几乎是正确的,但它不是输入标签,它是一个按钮。
请在此处查看 HTML:
<button class="CTA-module--action__3hGPH CTA-module--medium__dV8ar CTA-module--primary__3hPd- CTA-module--fullWidth__1GZ-5 RegisterForm--submit__2Enwx" data-testid="submitButton" type="submit"><span>BECOME A MEMBER</span></button>
所以将 input[data-testid='submitButton']
更改为 button[data-testid='submitButton']
成功了,而且奏效了。
示例代码:-
try:
# Accepts cookies
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.CSS_SELECTOR, "input[id='onetrust-accept-btn-handler']"))).click()
# Clicks the register button
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.CSS_SELECTOR, "button[data-testid='submitButton']"))).click()
except:
print("Driver waited too long!")
driver.quit()