如何使用PythonSelenium修改源代码?

2024-09-30 22:14:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在Python上使用Selenium来自动化一些东西,我想做的是在检查源代码时修改元素的特定部分

具体来说,我想将以下代码中的Blur(12px)替换为Blur(0px),以消除图片的模糊性:

<div class="Bdrs(8px) Bgz(cv) Bgp(c) Ov(h) StretchedBox Ir(p) Cnt($blank)::a StretchedBox::a Bg($inherit)::a Scale(1.3)::a Scale(1.2)::a--s Blur(12px)::a" style="background-image: url(&quot;https://preview.(...).com/); background-position: 50% 100%; background-size: auto 100.952%;"></div>

我不太确定如何才能做到这一点,尽管我已经做了研究,但未能找到解决问题的正确方法


Tags: 代码div元素源代码selenium图片cvclass
1条回答
网友
1楼 · 发布于 2024-09-30 22:14:25

可以使用javascript更改属性

element = driver.find_element_by_css_selector("... some css selector ...") # this can be however you want to find the element
driver.execute_script("arguments[0].setAttribute('class', 'Blur(0px)')", element)

这是假设您正在为webdriver对象使用变量“driver”

您提供的html示例在class属性中有许多其他类。如果要保留其余部分,可以首先获取属性内容,将模糊(12px)替换为模糊(0px),然后在javascript行中将其用作值

element = driver.find_element_by_css_selector("... some css selector ...") # this can be however you want to find the element
class_value = element.get_attribute("class")
revised_classes = class_value.replace("Blur(12px)", "Blur(0px)")
driver.execute_script("arguments[0].setAttribute('class', arguments[1])", element, revised_classes)

相关问题 更多 >