首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Selenium和Python单击p-dropdown标记内的元素

如何使用Selenium和Python单击p-dropdown标记内的元素
EN

Stack Overflow用户
提问于 2018-08-02 01:47:15
回答 2查看 2.4K关注 0票数 0
代码语言:javascript
复制
<p-dropdown _ngcontent-c16="" autofocus="" placeholder="Select Quota" class="ng-tns-c13-11 ui-inputwrapper-filled ng-untouched ng-pristine ng-valid">
  <div class="ng-tns-c13-11 ui-dropdown ui-widget ui-state-default ui-corner-all ui-helper-clearfix" style="width: 234px;">
    <div class="ui-helper-hidden-accessible ng-tns-c13-11 ng-star-inserted">
    <select class="ng-tns-c13-11" aria-hidden="true" tabindex="-1" aria-label="A">
      <option class="ng-tns-c13-11 ng-star-inserted">Select</option>
      <option class="ng-tns-c13-11 ng-star-inserted" value="GN">A</option>
      <option class="ng-tns-c13-11 ng-star-inserted" value="SS">B</option>
      <option class="ng-tns-c13-11 ng-star-inserted" value="LD">C</option>
      <option class="ng-tns-c13-11 ng-star-inserted" value="HP">D</option>
      <option class="ng-tns-c13-11 ng-star-inserted" value="TQ">E</option>
      <option class="ng-tns-c13-11 ng-star-inserted" value="PT">F</option>
      <!----></select>
    </div>

我需要在下拉列表中选择一个值,我尝试使用的xpath是:

代码语言:javascript
复制
driver.find_element_by_xpath("//*[@value='LD']").click()

但是这说明元素而不是found...What其他表达式可以用来在DropDown中选择一个选项?

还有没有可能像下面提到的那样

driver.find_element_by_xpath("//*@placeholder='Select配额‘“).click()

后面还有别的东西吗?

EN

回答 2

Stack Overflow用户

发布于 2018-08-02 01:59:01

这个下拉列表是使用select和options标签构建的。所以select类应该可以工作。

您可以尝试使用以下代码:

代码语言:javascript
复制
select = Select(driver.find_element_by_css_selector("select.ng-tns-c13-11"))

# select by visible text
select.select_by_visible_text('C')  

您必须执行的导入操作:

代码语言:javascript
复制
from selenium.webdriver.support.ui import Select
票数 0
EN

Stack Overflow用户

发布于 2018-08-02 16:18:26

只需要先等待LD元素可点击,就像这样...

代码语言:javascript
复制
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(driver, 10)
element = wait.until(EC.element_to_be_clickable((By.XPATH, "//*[@value='LD']")))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51639372

复制
相关文章

相似问题

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