选择Python硒中元素的其他方法是什么



此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")

相关内容

最新更新