首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >selenium如何单击具有动态ID的按钮

selenium如何单击具有动态ID的按钮
EN

Stack Overflow用户
提问于 2021-01-03 10:41:42
回答 2查看 462关注 0票数 1

下面的代码有每个按钮的ID,但它们在每次刷新时都是动态的,我尝试使用maleBtn = driver.find_element_by_xpath('//button[text()="Male"]').click(),但是似乎没有选择或单击该按钮。

代码语言:javascript
运行
复制
    <div id="759f1410-6451-4e18-8ef7-641692381f54" class="gender-buttons gender component">
  <div class="shim"></div>
  <div class="error"></div>
  <label for="27be9dfd-67f6-4fc1-8e7d-cf18edad0b6d">Gender</label>

  <input type="hidden" id="27be9dfd-67f6-4fc1-8e7d-cf18edad0b6d" value="" name="gender" data-componentname="gender">

  <ul data-componentname="gender">
    
      <li id="c5348cb4-3dd3-4841-8bec-d41523d16d11" class="">
        <input type="button">
        <span>Male</span>
      </li>
    
      <li id="fd7b0bd9-0c59-41be-8b5c-fbbe1e97ba9b" class="">
        <input type="button">
        <span>Female</span>
      </li>
    
  </ul>
  <div class="tip">Please select a preference.</div>
</div>

有没有想过让它工作起来?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-03 10:47:44

如果您想要单击前面的输入标记male。

代码语言:javascript
运行
复制
//ul[@data-componentname='gender']//span[text()='Male']/preceding::input[@type='button']

之前得到了元素,但它遇到了一个重叠的元素,所以我直接调用了click到该元素。此外,如果您还没有使用Webdriver,请等待允许页面正确加载元素。

完整代码:

代码语言:javascript
运行
复制
driver.get('https://www.nike.com/ca/register')
wait = WebDriverWait(driver, 10)
maleBtn = wait.until(EC.element_to_be_clickable((By.XPATH, "//ul[@data-componentname='gender']//span[text()='Male']/preceding::input[@type='button']")))
driver.execute_script("arguments[0].click();", maleBtn)

导入

代码语言:javascript
运行
复制
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC

输出

票数 2
EN

Stack Overflow用户

发布于 2021-01-05 12:22:45

使用动态xpath单击按钮

//buttoncontains(text(),'Male')尝试这个

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65546174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档