如何通过网络驱动程序在浏览器屏幕上选择一行文本以使用键盘或鼠标?

时间:2018-11-16 20:24:33

标签: python selenium webdriver automated-tests selenium-chromedriver

我想使用ChromeDriver在浏览器屏幕中选择一行文本并更改样式。例如,单击编辑器工具栏中的加粗按钮。

例如,它是我的html代码。

  

<p id="boldId">bold </p>

我附加了图片。enter image description here

1 个答案:

答案 0 :(得分:0)

您要创建文本选择,设置格式并获取HTML结果吗?

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("http://haixing-hu.github.io/vue-html-editor/demo.html")

editable = driver.find_element_by_xpath('//div[@class="note-editable panel-body"]')
buttonBold = driver.find_element_by_xpath('//button[@data-name="bold"]')
buttonItalic = driver.find_element_by_xpath('//button[@data-name="italic"]')

actions = webdriver.ActionChains(driver)
actions.move_to_element(editable)
actions.click()
actions.send_keys(Keys.CONTROL + 'a')
actions.click(buttonBold) 
actions.click(buttonItalic)
actions.perform()

print('HTML Source:')
print(editable.get_attribute('innerHTML'))

# <span style="font-weight: bold; font-style: italic;">Hello World!</span>