我试图在一个包含Python和Selenium的网页上找到一个文本框。我尝试通过.css_selector,通过ID,通过名称并在视图中使用iFrame,但消息始终是:
无法定位元素:textarea.paragraph-input
这是HTML的一部分。
<textarea style="padding-right:0; height:4rem;" class="paragraph-input" data-name="description" placeholder="(This portion is constantly changing)"></textarea>]]
我的代码是:
browser.get(siteName)
browser.implicitly_wait(timeout)
#browser.switch_to.frame(browser.find_element(By.TAG_NAME, 'iframe'))
search_form = browser.find_element(By.CSS_SELECTOR, "textarea.paragraph-input")
search_form.click()
search_form.send_keys(results)
如有任何帮助,我们将不胜感激
我试过用textarea和paragraph-input来改变find_element的值,但都不起作用。唯一的事情,我没有尝试,由于无能是xPath
1条答案
按热度按时间lbsnaicq1#
不幸的是,Selenium不能很好地处理连字符、白色和其他字符。
如果你想找到一个包含特殊字符的属性,可以这样做:
符号**
*=
**表示部分匹配。它将查找(在本例中)所有具有包含单词“paragraph”的类的Textarea
,并从该组中查找具有包含单词“input”的类的所有Textarea
。另外,请确保您的元素不在Iframe中。如果是另一个Iframe,则必须首先关注Iframe。