【发布时间】:2017-10-31 04:16:11
【问题描述】:
所以我通常使用driver.find_element_by_xpath('//input[@id=(//*[contains(text(), "User Name")]/@for)]') 在文本框中输入信息,但这不适用于以下代码:
<div class="form-group text-entry required ">
<div class="label-set" id="answerTextBox-30918642">Primary User Name (First and Last Name)</div>
<div class="group-set" role="group" aria-labelledby="answerTextBox-30918642">
<input id="pageResponse_Responses_Index" name="pageResponse.Responses.Index" type="hidden" value="fta30918642">
<input class="freeTextAnswerId form-control" id="pageResponse_Responses_fta30918642__FreeTextAnswerId" name="pageResponse.Responses[fta30918642].FreeTextAnswerId" type="hidden" value="30918642">
<label for="answerTextBox-30918642-free" class="sr-only">Write-In Answer</label>
<input class="form-control free-text" id="answerTextBox-30918642-free" name="pageResponse.Responses[fta30918642].FreeText" type="text" value="">
</div>
</div>
我尝试弄乱 xpath 来选择输入,
driver.find_element_by_xpath("//label[contains(.,'User Name')]/following-sibling::input[1]")
但到目前为止,我尝试过的任何方法都没有正常工作。这可以找到包含标签 driver.find_element_by_xpath("//*[contains(text(), 'User Name')]") 的元素,但我的问题是选择要发送密钥的输入。
【问题讨论】:
-
//div//input[@class='form-control free-text'] 这对你有用吗?
-
请阅读为什么a screenshot of code is a bad idea。粘贴代码并正确格式化。
-
@JeffC 这有帮助吗
-
@Jake Some... 我修好了。当我发布 HTML 时,我通常使用像 cleancss.com/html-beautify 这样的 HTML 美化器。
标签: python xpath selenium-webdriver