我如何 select 元素中的文本,将其复制然后粘贴到页面的其他位置? Selenium 网络驱动程序 python;
How can I select the text within an element, copy it and then paste it elsewhere on the page? Selenium webdriver python;
[编辑图片][1]
[Link 到网站][2]
[图 1][3]
[图 2][4]
所以这是一个客户post提问寻求答案的论坛。问题是由第一个 poster 的客户提出的。我想要做的是找到第一个 poster 的名字文本,在本例中是用户“davidbrigden”,然后复制他们的名字。接下来,在按下回复(显示在第二个 ss 中)后,我想将我从第一个 poster 复制的名字粘贴到回复框中,让他们知道我正在专门回复他们。但是,我目前无法弄清楚如何执行此操作。帮助表示赞赏。
我选择回复选项的代码:
reply_buttons = driver.find_elements_by_xpath('//button[@title="Reply"]')
reply_buttons[0].click()
您可以像这样获取页面上所有用户的名称:
elements = driver.find_elements_by_css_selector('.PostUser-badges.badges')
names = []
for element in elements:
names.append(element.text)
然后如果你想用“davidbrigden”的名字回复,使用
reply_field_element.send_keys(names[0])
您可以使用 css_selector:
从 post headers 中找到用户的用户名
'.PostUser .username'
所以,你可以得到所有posts用户名如下
answer_names= driver.find_elements_by_css_selector('.PostUser .username')
第一个回答的用户名是
first_answer_user_name = answer_names[0].text
重播评论文本区域元素位于css_selector
之后
`#composer textarea`
因此,您可以通过以下方式向那里发送文本:
driver.find_element_by_css_selector('#composer textarea').send_keys(first_answer_user_name)
更新:
总的来说,它看起来如下:
time.sleep(5)
answer_names= driver.find_elements_by_css_selector('.PostUser .username')
first_answer_user_name = answer_names[0].text
reply_buttons = driver.find_elements_by_xpath('//button[@title="Reply"]')
reply_buttons[0].click()
time.sleep(3)
driver.find_element_by_css_selector('#composer textarea').send_keys(first_answer_user_name)
不要忘记添加等待/延迟。
为了简化我添加了睡眠,应该使用预期的条件来代替
[编辑图片][1]
[Link 到网站][2]
[图 1][3]
[图 2][4]
所以这是一个客户post提问寻求答案的论坛。问题是由第一个 poster 的客户提出的。我想要做的是找到第一个 poster 的名字文本,在本例中是用户“davidbrigden”,然后复制他们的名字。接下来,在按下回复(显示在第二个 ss 中)后,我想将我从第一个 poster 复制的名字粘贴到回复框中,让他们知道我正在专门回复他们。但是,我目前无法弄清楚如何执行此操作。帮助表示赞赏。
我选择回复选项的代码:
reply_buttons = driver.find_elements_by_xpath('//button[@title="Reply"]')
reply_buttons[0].click()
您可以像这样获取页面上所有用户的名称:
elements = driver.find_elements_by_css_selector('.PostUser-badges.badges')
names = []
for element in elements:
names.append(element.text)
然后如果你想用“davidbrigden”的名字回复,使用
reply_field_element.send_keys(names[0])
您可以使用 css_selector:
从 post headers 中找到用户的用户名'.PostUser .username'
所以,你可以得到所有posts用户名如下
answer_names= driver.find_elements_by_css_selector('.PostUser .username')
第一个回答的用户名是
first_answer_user_name = answer_names[0].text
重播评论文本区域元素位于css_selector
之后`#composer textarea`
因此,您可以通过以下方式向那里发送文本:
driver.find_element_by_css_selector('#composer textarea').send_keys(first_answer_user_name)
更新:
总的来说,它看起来如下:
time.sleep(5)
answer_names= driver.find_elements_by_css_selector('.PostUser .username')
first_answer_user_name = answer_names[0].text
reply_buttons = driver.find_elements_by_xpath('//button[@title="Reply"]')
reply_buttons[0].click()
time.sleep(3)
driver.find_element_by_css_selector('#composer textarea').send_keys(first_answer_user_name)
不要忘记添加等待/延迟。
为了简化我添加了睡眠,应该使用预期的条件来代替