此html中的元素是动态的:
<textarea class="Medium" id="z46a662fd68e143128cd31e6978f63a5c"
name="Description" placeholder="" data-val-length="Character limit (8000)
exceeded" data-val-length-max="8000" data-val-editor-
id="z46a662fd68e143128cd31e6978f63a5c" data-val-position="0"></textarea>
我无法多次在脚本中使用此代码:
driver.find_element_by_css_selector('z46a662fd68e143128cd31e6978f63a5c')
使用以下代码,我能够按名称找到该元素 - 但无法将send_keys用于输入数据。
driver.find_element_by_name('Description')
我想知道此类问题多个解决方法 - 谢谢。
第一个语句不是正确的CSS选择器,因此失败。如果您想通过CSS选择,则可以这样指定:
driver.find_element_by_css_selector('textarea#z46a662fd68e143128cd31e6978f63a5c')
,您可以通过ID搜索,如果ID是 static :
driver.find_element_by_id('z46a662fd68e143128cd31e6978f63a5c')
然而,看起来您的ID是动态的,在这种情况下,像您一样,按名称抬头是最好的方法。
要发送密钥,您可以:
driver.find_element_by_name('Description').send_keys("Hello")
如果那不起作用,请确保加载页面并渲染textarea
。您可能需要使用等待:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.Name, "Description"))
element.send_keys("Hello")