我对这个webUI自动机非常新。如果您可以建议一些解决方案来自动化以下Web链接的跨度控制,那就太棒了:
findElement_by_xpath()
这样的selenium-python自动执行此操作? HTML code:
<li class="cr number has-slider"><div><span class="property-name">Alpha</span><div class="c"><div><input type="text"></div><div class="slider"><div class="slider-fg" style="width: 100%;"></div></div></div></div></li>
答案 0 :(得分:1)
例如,要将Alpha更改为5,您应该使用:
from selenium.webdriver import Firefox
from selenium.webdriver.common.keys import Keys
driver = Firefox()
driver.get('http://sheepeuh.com/particles/')
alpha_val_xpath = '/html/body/div[2]/div/ul/li[12]/div/div/div[1]/input'
alpha_val_elem = driver.find_element_by_xpath(alpha_val_xpath)
alpha_val_elem.clear()
alpha_val_elem.send_keys('5' + Keys.ENTER)
答案 1 :(得分:0)
依赖li
元素的位置不太可靠和可读。
而依赖于属性标签:
alpha_val_xpath = '//span[. = "Alpha"]/following-sibling::div//input'
alpha_val_elem = driver.find_element_by_xpath(alpha_val_xpath)
alpha_val_elem.clear()
alpha_val_elem.send_keys('5' + Keys.ENTER)
然后,您可以创建一个可以输入所需属性值的可重用函数:
def set_property(driver, name, value):
xpath = '//span[. = "%s"]/following-sibling::div//input' % name
elem = driver.find_element_by_xpath(xpath)
elem.clear()
elem.send_keys(str(value) + Keys.ENTER)
示例用法:
set_property(driver, 'Alpha', 5)
set_property(driver, 'Width division', 15)
结果(我突出显示了脚本设置的属性):