Fish钩 发表于 2023-11-26 15:13:25

selenium输入文字的问题

这个元素框没有input的XPATH,无法直接输入进去
请问有什么好的办法吗?

我输入文字后发现这个元素框的内容发生了变化,我CUT在下面:

没有输入文字前:图1
<p data-v-6800f5b9="" id="post-textarea" class="post-content" contenteditable="true" data-tribute="true" placeholder="填写更全面的描述信息,让更多的人看到你吧!"></p>

输入文字”你好“后:图2
<p data-v-6800f5b9="" id="post-textarea" class="post-content" contenteditable="true" data-tribute="true" placeholder="填写更全面的描述信息,让更多的人看到你吧!">你好</p>

FishC_GPT 发表于 2023-11-26 15:13:37

如果你无法直接通过XPATH找到该元素进行输入,有几种可能的解决方案:

1. 使用CSS选择器:尝试使用CSS选择器定位元素并输入文字。CSS选择器比XPATH更简洁,并且通常更容易定位元素。你可以通过查看页面元素的HTML结构来选择一个合适的CSS选择器。

例如,如果该元素具有一个唯一的class属性,请使用以下代码:

element = driver.find_element_by_css_selector('.your_class_name')
element.send_keys('你要输入的文字')

2. 使用JavaScript脚本:如果无法通过正常的输入方法将文字输入到元素中,可以使用JavaScript脚本执行。通过执行JavaScript脚本,可以直接修改页面元素的属性或值。

例如,假设你的元素具有一个唯一的id属性,请使用以下代码:

element_id = 'your_element_id'
text_to_input = '你要输入的文字'

script = "document.getElementById('{0}').value = '{1}';".format(element_id, text_to_input)
driver.execute_script(script)

这段代码将使用JavaScript将指定文本输入到具有相应id的元素中。

你可以根据具体情况选择上述方法之一,并替换代码中的CSS选择器、id或其他属性信息。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。

歌者文明清理员 发表于 2023-11-26 17:42:09

Send_keys()
页: [1]
查看完整版本: selenium输入文字的问题