有没有一种方法可以使用Selenium python将带有值的新属性添加到元素?

美国运通:

这是HTML

<img src="//www.shahidpro.tv/uploads/articles/220cc817.jpg" width="408" height="605" vspace="" hspace="" border="0" alt="">

我正在尝试添加3个新属性以使其像

<img src="//www.shahidpro.tv/uploads/articles/220cc817.jpg" width="408" height="605" vspace="" hspace="" border="0" alt="" style="display: block; margin-left: auto; margin-right: auto;" data-mce-style="display: block; margin-left: auto; margin-right: auto;" data-mce-selected="1">

我要添加:

  • style="display: block; margin-left: auto; margin-right: auto;"
  • data-mce-style="display: block; margin-left: auto; margin-right: auto;"
  • data-mce-selected="1"

我试过了:

image = WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "body.mce-content-body#tinymce > p/a/img")))
browser.execute_script("arguments[0].style='display: block; margin-left: auto; margin-right: auto;'", image)
browser.execute_script("arguments[0].data-mce-style='display: block; margin-left: auto; margin-right: auto;'", image)
browser.execute_script("arguments[0].data-mce-selected='1'", image)     ` but got no results nor errors
DebanjanB:

要添加三个新属性,您需要使用Seleniumexecute_script()方法。

现在,您要添加以下属性:

  • style="display: block; margin-left: auto; margin-right: auto;"
  • data-mce-style="display: block; margin-left: auto; margin-right: auto;"
  • data-mce-selected="1"

添加它们的方法与之类似,作为演示添加属性的演示,data-mce-selected="1"您需要为此引入WebDriverWaitvisibility_of_element_located()并且可以使用以下两种定位策略之一

  • 使用CSS_SELECTOR

    element = WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "img[src='//www.shahidpro.tv/uploads/articles/220cc817.jpg']")))
    browser.execute_script("arguments[0].setAttribute('value','28/02')", element)
    
  • XPATH在一行中使用和:

    browser.execute_script("arguments[0].setAttribute('data-mce-selected','1')", WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.XPATH, "//img[@src='//www.shahidpro.tv/uploads/articles/220cc817.jpg']"))))
    

参考文献

您可以在以下位置找到几个相关的详细讨论:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有一种方法可以使用内部函数中的变量

有没有一种方法可以使用绝对元素掩盖粘性元素?

有没有一种方法可以使用Selenium WebDriver中的JavaScript通过XPath获取元素?

有没有一种方法可以使用Selenium和Python绑定执行鼠标悬停(悬停在元素上)?

有没有一种方法可以使用Eclipse找出表单的类别?

有没有一种方法可以使用Dapper调用存储过程?

有没有一种方法可以使用Moment JS验证时间?

有没有一种方法可以使用Android的LifecycleObserver通知onActivityResult?

有没有一种方法可以使用FormArray作为顶级表单

有没有一种方法可以使用Python计算集合的所有合法分区?

有没有一种方法可以使用数组填充向量?

有没有一种方法可以使用javascript阻止javascript?

有没有一种方法可以使用将<string,string>添加到字典的方法?

有没有一种方法可以使Python列表需要某个对象?

有没有一种方法可以使用c ++实时阅读文本?

有没有一种方法可以使用推力将数组的所有元素相乘?

有没有一种方法可以使GitLab缓存被使用而不被写入?

有没有一种方法可以使用多个值?

有没有一种方法可以使for循环沿列表的元素重复?

有没有一种方法可以使用阴影框使边框具有圆形?

有没有一种方法可以使用Seaborn对同一图形使用多个子图?

有没有一种方法可以使用Python从目录创建jar?

有没有一种方法可以使用HtmlAgilityPack检测404页?

有没有一种方法可以使用bash读取数组的最后一个元素?

有没有一种方法可以使用OneNote API标记页面?

有没有一种方法可以使用Selenium / Web驱动程序在<div>中获取所有HTML元素ID?

有没有一种方法可以使用Smoke获得类的注释?

有没有一种方法可以使TextView使用Spinner样式?

有没有一种方法可以使使用HTML的markdown表溢出?